%description: Tests parsimPack/parsimUnpack for generated classes %file: test.msg namespace @TESTNAME@; struct Struct { int i; string s; }; message TestMessage { Struct s; Struct sv[]; } %includes: #include #include // from src/sim/parsim #include // from src/envir #include "test_m.h" using omnetpp::envir::ObjectPrinter; %activity: // create and pack TestMessage msg("msg"); msg.setSvArraySize(2); msg.getSForUpdate().i = 53; msg.getSForUpdate().s = "Hello"; msg.getSvForUpdate(0).i = 17; msg.getSvForUpdate(0).s = "first"; msg.getSvForUpdate(1).i = 26; msg.getSvForUpdate(1).s = "second"; cFileCommBuffer *buffer = new cFileCommBuffer(); msg.parsimPack(buffer); // unpack and print TestMessage msg2("tmp"); msg2.parsimUnpack(buffer); EV << "isBufferEmpty:" << buffer->isBufferEmpty() << endl; EV << ObjectPrinter(nullptr, "*:declaredOn(@TESTNAME@::TestMessage)",4).printObjectToString(&msg2); %subst: /omnetpp::// %contains: stdout isBufferEmpty:1 class @TESTNAME@::TestMessage { @TESTNAME@::Struct s = struct @TESTNAME@::Struct { int i = 53 string s = Hello } @TESTNAME@::Struct sv[0] = struct @TESTNAME@::Struct { int i = 17 string s = first } @TESTNAME@::Struct sv[1] = struct @TESTNAME@::Struct { int i = 26 string s = second } }