Skip to content

Commit 2de9644

Browse files
committed
[C++]: replace message header specific generation with general composite generation.
1 parent 70005fe commit 2de9644

File tree

2 files changed

+10
-23
lines changed

2 files changed

+10
-23
lines changed

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,20 +51,7 @@ public CppGenerator(final Ir ir, final OutputManager outputManager)
5151

5252
public void generateMessageHeaderStub() throws IOException
5353
{
54-
final String messageHeader = "MessageHeader";
55-
56-
try (Writer out = outputManager.createOutput(messageHeader))
57-
{
58-
final List<Token> tokens = ir.headerStructure().tokens();
59-
out.append(generateFileHeader(ir.namespaces(), messageHeader,
60-
generateTypesToIncludes(tokens.subList(1, tokens.size() - 1))));
61-
out.append(generateClassDeclaration(messageHeader));
62-
out.append(generateFixedFlyweightCode(messageHeader, tokens.get(0).encodedLength()));
63-
out.append(generateCompositePropertyElements(
64-
messageHeader, tokens.subList(1, tokens.size() - 1), BASE_INDENT));
65-
out.append("};\n");
66-
out.append(CppUtil.closingBraces(ir.namespaces().length)).append("#endif\n");
67-
}
54+
generateComposite(ir.headerStructure().tokens());
6855
}
6956

7057
public List<String> generateTypeStubs() throws IOException

sbe-tool/src/test/resources/code-generation-schema.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@
77
description="Example schema"
88
byteOrder="littleEndian">
99
<types>
10+
<composite name="BoosterT">
11+
<enum name="BoostType" encodingType="char">
12+
<validValue name="TURBO">T</validValue>
13+
<validValue name="SUPERCHARGER">S</validValue>
14+
<validValue name="NITROUS">N</validValue>
15+
<validValue name="KERS">K</validValue>
16+
</enum>
17+
<type name="horsePower" primitiveType="uint8"/>
18+
</composite>
1019
<composite name="messageHeader" description="Message identifiers and length of message root">
1120
<type name="blockLength" primitiveType="uint16"/>
1221
<type name="templateId" primitiveType="uint16"/>
@@ -27,15 +36,6 @@
2736
<type name="VehicleCode" primitiveType="char" length="6" characterEncoding="ASCII"/>
2837
<type name="someNumbers" primitiveType="int32" length="5"/>
2938
<type name="Ron" primitiveType="uint8" minValue="90" maxValue="110"/>
30-
<composite name="BoosterT">
31-
<enum name="BoostType" encodingType="char">
32-
<validValue name="TURBO">T</validValue>
33-
<validValue name="SUPERCHARGER">S</validValue>
34-
<validValue name="NITROUS">N</validValue>
35-
<validValue name="KERS">K</validValue>
36-
</enum>
37-
<type name="horsePower" primitiveType="uint8"/>
38-
</composite>
3939
<composite name="Engine">
4040
<type name="capacity" primitiveType="uint16"/>
4141
<type name="numCylinders" primitiveType="uint8"/>

0 commit comments

Comments
 (0)