diff options
author | Jan Belle | 2016-12-21 10:33:52 +0000 |
---|---|---|
committer | Jan Belle | 2016-12-21 10:33:52 +0000 |
commit | f6535d3bcaf9be2039d9e4aeb98241165eb74102 (patch) | |
tree | 91a0bf87dd3bd901dd2defb234c7c74a4c2f749c /plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp | |
parent | 5dff0108d82e95f40b59da39e54246e6077a920c (diff) | |
download | org.eclipse.etrice-f6535d3bcaf9be2039d9e4aeb98241165eb74102.tar.gz org.eclipse.etrice-f6535d3bcaf9be2039d9e4aeb98241165eb74102.tar.xz org.eclipse.etrice-f6535d3bcaf9be2039d9e4aeb98241165eb74102.zip |
[generator.cpp] Prepared cpp generator for extensions
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp')
2 files changed, 13 insertions, 10 deletions
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend index 4678467f0..cf705d93d 100644 --- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend @@ -30,14 +30,14 @@ import org.eclipse.etrice.generator.generic.RoomExtensions @Singleton class ActorClassGen extends GenericActorClassGenerator { - @Inject IGeneratorFileIo fileIO - @Inject extension CppExtensions - @Inject extension RoomExtensions + @Inject protected IGeneratorFileIo fileIO + @Inject protected extension CppExtensions + @Inject protected extension RoomExtensions - @Inject extension ProcedureHelpers - @Inject Initialization initHelper - @Inject extension StateMachineGen - @Inject extension FileSystemHelpers + @Inject protected extension ProcedureHelpers + @Inject protected Initialization initHelper + @Inject protected extension StateMachineGen + @Inject protected extension FileSystemHelpers def doGenerate(Root root) { val Map<ActorClass, WiredActorClass> ac2wired = newHashMap @@ -53,7 +53,7 @@ class ActorClassGen extends GenericActorClassGenerator { } } - def private generateHeaderFile(Root root, ExpandedActorClass xpac, WiredActorClass wired, boolean manualBehavior) { + def protected generateHeaderFile(Root root, ExpandedActorClass xpac, WiredActorClass wired, boolean manualBehavior) { val ac = xpac.actorClass val clsname = if (manualBehavior) "Abstract"+ac.name else ac.name //val models = root.getReferencedModels(ac) @@ -217,7 +217,7 @@ class ActorClassGen extends GenericActorClassGenerator { } - def private generateSourceFile(Root root, ExpandedActorClass xpac, WiredActorClass wired, boolean manualBehavior) { + def protected generateSourceFile(Root root, ExpandedActorClass xpac, WiredActorClass wired, boolean manualBehavior) { val ac = xpac.actorClass val clsname = if (manualBehavior) "Abstract"+ac.name else ac.name //val models = root.getReferencedModels(ac) diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend index 39a997cf6..2f450c62e 100644 --- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend @@ -380,10 +380,13 @@ class ProtocolClassGen extends GenericProtocolClassGenerator { if (getPeerAddress().isValid()) { ««« we have to use a dynamic cast here because we have a virtual base class Message* buffer = dynamic_cast<IMessageService*>(getPeerMsgReceiver())->getMessageBuffer(sizeof(«messageType»)); +««« // TODO JB: Handle buffer == NULL if (buffer) { getPeerMsgReceiver()->receive(«message»); } -««« // TODO JB: Handle buffer == NULL + else { + std::cout << "The message buffer is too small for the message!" << std::endl; + } } } ''' |