7 # pragma warning(disable:4101)
8 # pragma warning(disable:4065)
21 template<
typename T,
typename A>
22 void doParsimPacking(omnetpp::cCommBuffer *buffer,
const std::vector<T,A>& v)
26 for (
int i = 0; i < n; i++)
30 template<
typename T,
typename A>
36 for (
int i = 0; i < n; i++)
41 template<
typename T,
typename A>
42 void doParsimPacking(omnetpp::cCommBuffer *buffer,
const std::list<T,A>& l)
45 for (
typename std::list<T,A>::const_iterator it = l.begin(); it != l.end(); ++it)
49 template<
typename T,
typename A>
54 for (
int i=0; i<n; i++) {
61 template<
typename T,
typename Tr,
typename A>
62 void doParsimPacking(omnetpp::cCommBuffer *buffer,
const std::set<T,Tr,A>& s)
65 for (
typename std::set<T,Tr,A>::const_iterator it = s.begin(); it != s.end(); ++it)
69 template<
typename T,
typename Tr,
typename A>
74 for (
int i=0; i<n; i++) {
82 template<
typename K,
typename V,
typename Tr,
typename A>
83 void doParsimPacking(omnetpp::cCommBuffer *buffer,
const std::map<K,V,Tr,A>& m)
86 for (
typename std::map<K,V,Tr,A>::const_iterator it = m.begin(); it != m.end(); ++it) {
92 template<
typename K,
typename V,
typename Tr,
typename A>
97 for (
int i=0; i<n; i++) {
109 for (
int i = 0; i < n; i++)
116 for (
int i = 0; i < n; i++)
124 throw omnetpp::cRuntimeError(
"Parsim error: no doParsimPacking() function for type %s", omnetpp::opp_typename(
typeid(t)));
130 throw omnetpp::cRuntimeError(
"Parsim error: no doParsimUnpacking() function for type %s", omnetpp::opp_typename(
typeid(t)));
137 template<
typename T,
typename A>
138 std::ostream& operator<<(std::ostream& out, const std::vector<T,A>& vec);
142 inline std::ostream&
operator<<(std::ostream& out,
const T&) {
return out;}
145 template<
typename T,
typename A>
146 inline std::ostream& operator<<(std::ostream& out, const std::vector<T,A>& vec)
149 for(
typename std::vector<T,A>::const_iterator it = vec.begin(); it != vec.end(); ++it)
151 if (it != vec.begin()) {
152 out.put(
','); out.put(
' ');
159 sprintf(buf,
" (size=%u)", (
unsigned int)vec.size());
160 out.write(buf, strlen(buf));
165 omnetpp::cEnum *e = omnetpp::cEnum::find(
"DTPTimerType");
166 if (!e) omnetpp::enums.getInstance()->add(e =
new omnetpp::cEnum(
"DTPTimerType"));
174 omnetpp::cEnum *e = omnetpp::cEnum::find(
"InterrupterActionType");
175 if (!e) omnetpp::enums.getInstance()->add(e =
new omnetpp::cEnum(
"InterrupterActionType"));
198 if (
this==&other)
return *
this;
199 ::omnetpp::cMessage::operator=(other);
211 ::omnetpp::cMessage::parsimPack(b);
217 ::omnetpp::cMessage::parsimUnpack(b);
239 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
241 virtual const char *
getProperty(
const char *propertyname)
const override;
243 virtual const char *
getFieldName(
int field)
const override;
244 virtual int findField(
const char *fieldName)
const override;
248 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
252 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
272 return dynamic_cast<DTPTimers *
>(obj)!=
nullptr;
278 static const char *names[] = {
nullptr };
279 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
280 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
288 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
289 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
294 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
295 return basedesc ? 1+basedesc->getFieldCount() : 1;
300 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
303 return basedesc->getFieldTypeFlags(field);
304 field -= basedesc->getFieldCount();
306 static unsigned int fieldTypeFlags[] = {
309 return (field>=0 && field<1) ? fieldTypeFlags[field] : 0;
314 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
317 return basedesc->getFieldName(field);
318 field -= basedesc->getFieldCount();
320 static const char *fieldNames[] = {
323 return (field>=0 && field<1) ? fieldNames[field] :
nullptr;
328 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
329 int base = basedesc ? basedesc->getFieldCount() : 0;
330 if (fieldName[0]==
't' && strcmp(fieldName,
"type")==0)
return base+0;
331 return basedesc ? basedesc->findField(fieldName) : -1;
336 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
339 return basedesc->getFieldTypeString(field);
340 field -= basedesc->getFieldCount();
342 static const char *fieldTypeStrings[] = {
345 return (field>=0 && field<1) ? fieldTypeStrings[field] :
nullptr;
350 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
353 return basedesc->getFieldPropertyNames(field);
354 field -= basedesc->getFieldCount();
358 static const char *names[] = {
"enum",
nullptr };
361 default:
return nullptr;
367 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
370 return basedesc->getFieldProperty(field, propertyname);
371 field -= basedesc->getFieldCount();
375 if (!strcmp(propertyname,
"enum"))
return "DTPTimerType";
377 default:
return nullptr;
383 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
386 return basedesc->getFieldArraySize(
object, field);
387 field -= basedesc->getFieldCount();
397 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
400 return basedesc->getFieldValueAsString(
object,field,i);
401 field -= basedesc->getFieldCount();
405 case 0:
return enum2string(pp->
getType(),
"DTPTimerType");
412 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
415 return basedesc->setFieldValueAsString(
object,field,i,value);
416 field -= basedesc->getFieldCount();
421 default:
return false;
427 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
430 return basedesc->getFieldStructName(field);
431 field -= basedesc->getFieldCount();
434 default:
return nullptr;
440 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
443 return basedesc->getFieldStructValuePointer(
object, field, i);
444 field -= basedesc->getFieldCount();
448 default:
return nullptr;
469 if (
this==&other)
return *
this;
470 ::DTPTimers::operator=(other);
497 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
499 virtual const char *
getProperty(
const char *propertyname)
const override;
501 virtual const char *
getFieldName(
int field)
const override;
502 virtual int findField(
const char *fieldName)
const override;
506 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
510 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
536 static const char *names[] = {
nullptr };
537 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
538 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
546 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
547 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
552 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
553 return basedesc ? 0+basedesc->getFieldCount() : 0;
558 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
561 return basedesc->getFieldTypeFlags(field);
562 field -= basedesc->getFieldCount();
569 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
572 return basedesc->getFieldName(field);
573 field -= basedesc->getFieldCount();
580 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
581 return basedesc ? basedesc->findField(fieldName) : -1;
586 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
589 return basedesc->getFieldTypeString(field);
590 field -= basedesc->getFieldCount();
597 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
600 return basedesc->getFieldPropertyNames(field);
601 field -= basedesc->getFieldCount();
604 default:
return nullptr;
610 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
613 return basedesc->getFieldProperty(field, propertyname);
614 field -= basedesc->getFieldCount();
617 default:
return nullptr;
623 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
626 return basedesc->getFieldArraySize(
object, field);
627 field -= basedesc->getFieldCount();
637 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
640 return basedesc->getFieldValueAsString(
object,field,i);
641 field -= basedesc->getFieldCount();
651 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
654 return basedesc->setFieldValueAsString(
object,field,i,value);
655 field -= basedesc->getFieldCount();
659 default:
return false;
665 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
668 return basedesc->getFieldStructName(field);
669 field -= basedesc->getFieldCount();
676 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
679 return basedesc->getFieldStructValuePointer(
object, field, i);
680 field -= basedesc->getFieldCount();
684 default:
return nullptr;
706 if (
this==&other)
return *
this;
707 ::InactivityTimer::operator=(other);
734 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
736 virtual const char *
getProperty(
const char *propertyname)
const override;
738 virtual const char *
getFieldName(
int field)
const override;
739 virtual int findField(
const char *fieldName)
const override;
743 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
747 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
773 static const char *names[] = {
nullptr };
774 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
775 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
783 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
784 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
789 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
790 return basedesc ? 0+basedesc->getFieldCount() : 0;
795 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
798 return basedesc->getFieldTypeFlags(field);
799 field -= basedesc->getFieldCount();
806 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
809 return basedesc->getFieldName(field);
810 field -= basedesc->getFieldCount();
817 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
818 return basedesc ? basedesc->findField(fieldName) : -1;
823 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
826 return basedesc->getFieldTypeString(field);
827 field -= basedesc->getFieldCount();
834 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
837 return basedesc->getFieldPropertyNames(field);
838 field -= basedesc->getFieldCount();
841 default:
return nullptr;
847 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
850 return basedesc->getFieldProperty(field, propertyname);
851 field -= basedesc->getFieldCount();
854 default:
return nullptr;
860 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
863 return basedesc->getFieldArraySize(
object, field);
864 field -= basedesc->getFieldCount();
874 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
877 return basedesc->getFieldValueAsString(
object,field,i);
878 field -= basedesc->getFieldCount();
888 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
891 return basedesc->setFieldValueAsString(
object,field,i,value);
892 field -= basedesc->getFieldCount();
896 default:
return false;
902 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
905 return basedesc->getFieldStructName(field);
906 field -= basedesc->getFieldCount();
913 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
916 return basedesc->getFieldStructValuePointer(
object, field, i);
917 field -= basedesc->getFieldCount();
921 default:
return nullptr;
943 if (
this==&other)
return *
this;
944 ::InactivityTimer::operator=(other);
971 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
973 virtual const char *
getProperty(
const char *propertyname)
const override;
975 virtual const char *
getFieldName(
int field)
const override;
976 virtual int findField(
const char *fieldName)
const override;
980 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
984 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
1010 static const char *names[] = {
nullptr };
1011 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1012 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
1020 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1021 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
1026 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1027 return basedesc ? 0+basedesc->getFieldCount() : 0;
1032 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1035 return basedesc->getFieldTypeFlags(field);
1036 field -= basedesc->getFieldCount();
1043 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1046 return basedesc->getFieldName(field);
1047 field -= basedesc->getFieldCount();
1054 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1055 return basedesc ? basedesc->findField(fieldName) : -1;
1060 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1063 return basedesc->getFieldTypeString(field);
1064 field -= basedesc->getFieldCount();
1071 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1074 return basedesc->getFieldPropertyNames(field);
1075 field -= basedesc->getFieldCount();
1078 default:
return nullptr;
1084 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1087 return basedesc->getFieldProperty(field, propertyname);
1088 field -= basedesc->getFieldCount();
1091 default:
return nullptr;
1097 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1100 return basedesc->getFieldArraySize(
object, field);
1101 field -= basedesc->getFieldCount();
1111 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1114 return basedesc->getFieldValueAsString(
object,field,i);
1115 field -= basedesc->getFieldCount();
1125 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1128 return basedesc->setFieldValueAsString(
object,field,i,value);
1129 field -= basedesc->getFieldCount();
1133 default:
return false;
1139 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1142 return basedesc->getFieldStructName(field);
1143 field -= basedesc->getFieldCount();
1150 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1153 return basedesc->getFieldStructValuePointer(
object, field, i);
1154 field -= basedesc->getFieldCount();
1158 default:
return nullptr;
1183 if (
this==&other)
return *
this;
1184 ::DTPTimers::operator=(other);
1237 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
1239 virtual const char *
getProperty(
const char *propertyname)
const override;
1241 virtual const char *
getFieldName(
int field)
const override;
1242 virtual int findField(
const char *fieldName)
const override;
1246 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
1250 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
1270 return dynamic_cast<ATimer *
>(obj)!=
nullptr;
1276 static const char *names[] = {
nullptr };
1277 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1278 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
1286 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1287 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
1292 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1293 return basedesc ? 2+basedesc->getFieldCount() : 2;
1298 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1301 return basedesc->getFieldTypeFlags(field);
1302 field -= basedesc->getFieldCount();
1304 static unsigned int fieldTypeFlags[] = {
1308 return (field>=0 && field<2) ? fieldTypeFlags[field] : 0;
1313 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1316 return basedesc->getFieldName(field);
1317 field -= basedesc->getFieldCount();
1319 static const char *fieldNames[] = {
1323 return (field>=0 && field<2) ? fieldNames[field] :
nullptr;
1328 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1329 int base = basedesc ? basedesc->getFieldCount() : 0;
1330 if (fieldName[0]==
'p' && strcmp(fieldName,
"pdu")==0)
return base+0;
1331 if (fieldName[0]==
's' && strcmp(fieldName,
"seqNum")==0)
return base+1;
1332 return basedesc ? basedesc->findField(fieldName) : -1;
1337 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1340 return basedesc->getFieldTypeString(field);
1341 field -= basedesc->getFieldCount();
1343 static const char *fieldTypeStrings[] = {
1347 return (field>=0 && field<2) ? fieldTypeStrings[field] :
nullptr;
1352 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1355 return basedesc->getFieldPropertyNames(field);
1356 field -= basedesc->getFieldCount();
1359 default:
return nullptr;
1365 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1368 return basedesc->getFieldProperty(field, propertyname);
1369 field -= basedesc->getFieldCount();
1372 default:
return nullptr;
1378 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1381 return basedesc->getFieldArraySize(
object, field);
1382 field -= basedesc->getFieldCount();
1392 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1395 return basedesc->getFieldValueAsString(
object,field,i);
1396 field -= basedesc->getFieldCount();
1400 case 0: {std::stringstream out; out << pp->
getPdu();
return out.str();}
1401 case 1:
return ulong2string(pp->
getSeqNum());
1408 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1411 return basedesc->setFieldValueAsString(
object,field,i,value);
1412 field -= basedesc->getFieldCount();
1416 case 1: pp->
setSeqNum(string2ulong(value));
return true;
1417 default:
return false;
1423 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1426 return basedesc->getFieldStructName(field);
1427 field -= basedesc->getFieldCount();
1430 case 0:
return omnetpp::opp_typename(
typeid(
DTPDU_p));
1431 default:
return nullptr;
1437 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1440 return basedesc->getFieldStructValuePointer(
object, field, i);
1441 field -= basedesc->getFieldCount();
1445 case 0:
return (
void *)(&pp->
getPdu());
break;
1446 default:
return nullptr;
1470 if (
this==&other)
return *
this;
1471 ::DTPTimers::operator=(other);
1511 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
1513 virtual const char *
getProperty(
const char *propertyname)
const override;
1515 virtual const char *
getFieldName(
int field)
const override;
1516 virtual int findField(
const char *fieldName)
const override;
1520 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
1524 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
1550 static const char *names[] = {
nullptr };
1551 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1552 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
1560 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1561 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
1566 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1567 return basedesc ? 1+basedesc->getFieldCount() : 1;
1572 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1575 return basedesc->getFieldTypeFlags(field);
1576 field -= basedesc->getFieldCount();
1578 static unsigned int fieldTypeFlags[] = {
1581 return (field>=0 && field<1) ? fieldTypeFlags[field] : 0;
1586 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1589 return basedesc->getFieldName(field);
1590 field -= basedesc->getFieldCount();
1592 static const char *fieldNames[] = {
1595 return (field>=0 && field<1) ? fieldNames[field] :
nullptr;
1600 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1601 int base = basedesc ? basedesc->getFieldCount() : 0;
1602 if (fieldName[0]==
'a' && strcmp(fieldName,
"action")==0)
return base+0;
1603 return basedesc ? basedesc->findField(fieldName) : -1;
1608 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1611 return basedesc->getFieldTypeString(field);
1612 field -= basedesc->getFieldCount();
1614 static const char *fieldTypeStrings[] = {
1617 return (field>=0 && field<1) ? fieldTypeStrings[field] :
nullptr;
1622 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1625 return basedesc->getFieldPropertyNames(field);
1626 field -= basedesc->getFieldCount();
1630 static const char *names[] = {
"enum",
nullptr };
1633 default:
return nullptr;
1639 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1642 return basedesc->getFieldProperty(field, propertyname);
1643 field -= basedesc->getFieldCount();
1647 if (!strcmp(propertyname,
"enum"))
return "InterrupterActionType";
1649 default:
return nullptr;
1655 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1658 return basedesc->getFieldArraySize(
object, field);
1659 field -= basedesc->getFieldCount();
1669 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1672 return basedesc->getFieldValueAsString(
object,field,i);
1673 field -= basedesc->getFieldCount();
1677 case 0:
return enum2string(pp->
getAction(),
"InterrupterActionType");
1684 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1687 return basedesc->setFieldValueAsString(
object,field,i,value);
1688 field -= basedesc->getFieldCount();
1693 default:
return false;
1699 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1702 return basedesc->getFieldStructName(field);
1703 field -= basedesc->getFieldCount();
1706 default:
return nullptr;
1712 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1715 return basedesc->getFieldStructValuePointer(
object, field, i);
1716 field -= basedesc->getFieldCount();
1720 default:
return nullptr;
virtual int getFieldArraySize(void *object, int field) const override
virtual void setAction(int action)
void copy(const DTPTimers &other)
virtual ~DTPTimersDescriptor()
virtual ~RcvrInactivityTimerDescriptor()
virtual ~TheInterrupterTimerDescriptor()
virtual unsigned int getSeqNum() const
SenderInactivityTimerDescriptor()
InactivityTimer & operator=(const InactivityTimer &other)
virtual int getFieldCount() const override
virtual ~SenderInactivityTimerDescriptor()
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
TheInterrupterTimer(const char *name=nullptr, int kind=0)
virtual int getFieldCount() const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual unsigned int getFieldTypeFlags(int field) const override
virtual const char * getFieldStructName(int field) const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual const char ** getFieldPropertyNames(int field) const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual ~ATimerDescriptor()
const char ** propertynames
virtual int getFieldArraySize(void *object, int field) const override
TheInterrupterTimerDescriptor()
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual const char * getFieldStructName(int field) const override
virtual unsigned int getFieldTypeFlags(int field) const override
std::ostream & operator<<(std::ostream &out, const std::vector< T, A > &vec)
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual const char ** getFieldPropertyNames(int field) const override
virtual const char * getFieldTypeString(int field) const override
virtual const char * getFieldName(int field) const override
virtual const char * getFieldName(int field) const override
virtual void setSeqNum(unsigned int seqNum)
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual ~RcvrInactivityTimer()
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual int getFieldCount() const override
virtual const char * getFieldStructName(int field) const override
SenderInactivityTimer & operator=(const SenderInactivityTimer &other)
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual const char ** getPropertyNames() const override
DTPTimers & operator=(const DTPTimers &other)
void doParsimPacking(omnetpp::cCommBuffer *buffer, const std::vector< T, A > &v)
virtual const char * getFieldTypeString(int field) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual int getFieldArraySize(void *object, int field) const override
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual const char * getProperty(const char *propertyname) const override
virtual int findField(const char *fieldName) const override
virtual unsigned int getFieldTypeFlags(int field) const override
Register_Class(DTPTimers)
virtual const char * getFieldName(int field) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual const char ** getPropertyNames() const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual const char * getProperty(const char *propertyname) const override
virtual const char ** getFieldPropertyNames(int field) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual const char ** getPropertyNames() const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
void doParsimUnpacking(omnetpp::cCommBuffer *buffer, std::vector< T, A > &v)
virtual const char * getFieldProperty(int field, const char *propertyname) const override
const char ** propertynames
const char ** propertynames
virtual unsigned int getFieldTypeFlags(int field) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
void doParsimArrayUnpacking(omnetpp::cCommBuffer *b, T *t, int n)
virtual int findField(const char *fieldName) const override
virtual const char * getFieldTypeString(int field) const override
RcvrInactivityTimer & operator=(const RcvrInactivityTimer &other)
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual int getFieldArraySize(void *object, int field) const override
void copy(const ATimer &other)
TheInterrupterTimer & operator=(const TheInterrupterTimer &other)
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual int findField(const char *fieldName) const override
const char ** propertynames
virtual bool doesSupport(omnetpp::cObject *obj) const override
InactivityTimerDescriptor()
virtual int findField(const char *fieldName) const override
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual int getFieldArraySize(void *object, int field) const override
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual ~InactivityTimerDescriptor()
const char ** propertynames
virtual const char * getFieldProperty(int field, const char *propertyname) const override
SenderInactivityTimer(const char *name=nullptr, int kind=0)
virtual const char ** getFieldPropertyNames(int field) const override
virtual const char * getProperty(const char *propertyname) const override
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual int getFieldCount() const override
virtual const char * getFieldStructName(int field) const override
void copy(const InactivityTimer &other)
DTPTimers(const char *name=nullptr, int kind=0)
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual const char * getFieldName(int field) const override
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual ~TheInterrupterTimer()
virtual const char ** getPropertyNames() const override
virtual const char ** getPropertyNames() const override
virtual const char * getFieldName(int field) const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
void copy(const TheInterrupterTimer &other)
virtual ~InactivityTimer()
virtual void setType(int type)
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual unsigned int getFieldTypeFlags(int field) const override
virtual const char * getProperty(const char *propertyname) const override
virtual const char * getProperty(const char *propertyname) const override
virtual const char * getFieldTypeString(int field) const override
virtual int getFieldCount() const override
virtual void setPdu(const DTPDU_p &pdu)
virtual unsigned int getFieldTypeFlags(int field) const override
virtual const char * getFieldStructName(int field) const override
InactivityTimer(const char *name=nullptr, int kind=0)
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual DTPDU_p & getPdu()
void copy(const RcvrInactivityTimer &other)
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual int getAction() const
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual const char ** getFieldPropertyNames(int field) const override
virtual const char ** getPropertyNames() const override
ATimer(const char *name=nullptr, int kind=0)
virtual const char * getFieldStructName(int field) const override
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual int getFieldArraySize(void *object, int field) const override
virtual int findField(const char *fieldName) const override
Register_ClassDescriptor(DTPTimersDescriptor)
virtual ~SenderInactivityTimer()
virtual const char * getFieldTypeString(int field) const override
virtual const char * getFieldTypeString(int field) const override
virtual const char * getProperty(const char *propertyname) const override
virtual bool doesSupport(omnetpp::cObject *obj) const override
RcvrInactivityTimerDescriptor()
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual int findField(const char *fieldName) const override
EXECUTE_ON_STARTUP(omnetpp::cEnum *e=omnetpp::cEnum::find("DTPTimerType");if(!e) omnetpp::enums.getInstance() ->add(e=new omnetpp::cEnum("DTPTimerType"));e->insert(DTP_SENDER_INACTIVITY_TIMER,"DTP_SENDER_INACTIVITY_TIMER");e->insert(DTP_RCVR_INACTIVITY_TIMER,"DTP_RCVR_INACTIVITY_TIMER");e->insert(DTP_A_TIMER,"DTP_A_TIMER");e->insert(DTP_INTERRUPTER_TIMER,"DTP_INTERRUPTER_TIMER");)
RcvrInactivityTimer(const char *name=nullptr, int kind=0)
void copy(const SenderInactivityTimer &other)
ATimer & operator=(const ATimer &other)
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual const char ** getFieldPropertyNames(int field) const override
virtual const char * getFieldName(int field) const override
void doParsimArrayPacking(omnetpp::cCommBuffer *b, const T *t, int n)
virtual int getFieldCount() const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
const char ** propertynames
virtual int getType() const