RINASim  October 2016
Documentation of framework for OMNeT++
DelimitingTimers_m.cc
Go to the documentation of this file.
1 //
2 // Generated file, do not edit! Created by nedtool 5.0 from DIF/Delimiting/DelimitingTimers.msg.
3 //
4 
5 // Disable warnings about unused variables, empty switch stmts, etc:
6 #ifdef _MSC_VER
7 # pragma warning(disable:4101)
8 # pragma warning(disable:4065)
9 #endif
10 
11 #include <iostream>
12 #include <sstream>
13 #include "DelimitingTimers_m.h"
14 
15 namespace omnetpp {
16 
17 // Template pack/unpack rules. They are declared *after* a1l type-specific pack functions for multiple reasons.
18 // They are in the omnetpp namespace, to allow them to be found by argument-dependent lookup via the cCommBuffer argument
19 
20 // Packing/unpacking an std::vector
21 template<typename T, typename A>
22 void doParsimPacking(omnetpp::cCommBuffer *buffer, const std::vector<T,A>& v)
23 {
24  int n = v.size();
25  doParsimPacking(buffer, n);
26  for (int i = 0; i < n; i++)
27  doParsimPacking(buffer, v[i]);
28 }
29 
30 template<typename T, typename A>
31 void doParsimUnpacking(omnetpp::cCommBuffer *buffer, std::vector<T,A>& v)
32 {
33  int n;
34  doParsimUnpacking(buffer, n);
35  v.resize(n);
36  for (int i = 0; i < n; i++)
37  doParsimUnpacking(buffer, v[i]);
38 }
39 
40 // Packing/unpacking an std::list
41 template<typename T, typename A>
42 void doParsimPacking(omnetpp::cCommBuffer *buffer, const std::list<T,A>& l)
43 {
44  doParsimPacking(buffer, (int)l.size());
45  for (typename std::list<T,A>::const_iterator it = l.begin(); it != l.end(); ++it)
46  doParsimPacking(buffer, (T&)*it);
47 }
48 
49 template<typename T, typename A>
50 void doParsimUnpacking(omnetpp::cCommBuffer *buffer, std::list<T,A>& l)
51 {
52  int n;
53  doParsimUnpacking(buffer, n);
54  for (int i=0; i<n; i++) {
55  l.push_back(T());
56  doParsimUnpacking(buffer, l.back());
57  }
58 }
59 
60 // Packing/unpacking an std::set
61 template<typename T, typename Tr, typename A>
62 void doParsimPacking(omnetpp::cCommBuffer *buffer, const std::set<T,Tr,A>& s)
63 {
64  doParsimPacking(buffer, (int)s.size());
65  for (typename std::set<T,Tr,A>::const_iterator it = s.begin(); it != s.end(); ++it)
66  doParsimPacking(buffer, *it);
67 }
68 
69 template<typename T, typename Tr, typename A>
70 void doParsimUnpacking(omnetpp::cCommBuffer *buffer, std::set<T,Tr,A>& s)
71 {
72  int n;
73  doParsimUnpacking(buffer, n);
74  for (int i=0; i<n; i++) {
75  T x;
76  doParsimUnpacking(buffer, x);
77  s.insert(x);
78  }
79 }
80 
81 // Packing/unpacking an std::map
82 template<typename K, typename V, typename Tr, typename A>
83 void doParsimPacking(omnetpp::cCommBuffer *buffer, const std::map<K,V,Tr,A>& m)
84 {
85  doParsimPacking(buffer, (int)m.size());
86  for (typename std::map<K,V,Tr,A>::const_iterator it = m.begin(); it != m.end(); ++it) {
87  doParsimPacking(buffer, it->first);
88  doParsimPacking(buffer, it->second);
89  }
90 }
91 
92 template<typename K, typename V, typename Tr, typename A>
93 void doParsimUnpacking(omnetpp::cCommBuffer *buffer, std::map<K,V,Tr,A>& m)
94 {
95  int n;
96  doParsimUnpacking(buffer, n);
97  for (int i=0; i<n; i++) {
98  K k; V v;
99  doParsimUnpacking(buffer, k);
100  doParsimUnpacking(buffer, v);
101  m[k] = v;
102  }
103 }
104 
105 // Default pack/unpack function for arrays
106 template<typename T>
107 void doParsimArrayPacking(omnetpp::cCommBuffer *b, const T *t, int n)
108 {
109  for (int i = 0; i < n; i++)
110  doParsimPacking(b, t[i]);
111 }
112 
113 template<typename T>
114 void doParsimArrayUnpacking(omnetpp::cCommBuffer *b, T *t, int n)
115 {
116  for (int i = 0; i < n; i++)
117  doParsimUnpacking(b, t[i]);
118 }
119 
120 // Default rule to prevent compiler from choosing base class' doParsimPacking() function
121 template<typename T>
122 void doParsimPacking(omnetpp::cCommBuffer *, const T& t)
123 {
124  throw omnetpp::cRuntimeError("Parsim error: no doParsimPacking() function for type %s", omnetpp::opp_typename(typeid(t)));
125 }
126 
127 template<typename T>
128 void doParsimUnpacking(omnetpp::cCommBuffer *, T& t)
129 {
130  throw omnetpp::cRuntimeError("Parsim error: no doParsimUnpacking() function for type %s", omnetpp::opp_typename(typeid(t)));
131 }
132 
133 } // namespace omnetpp
134 
135 
136 // forward
137 template<typename T, typename A>
138 std::ostream& operator<<(std::ostream& out, const std::vector<T,A>& vec);
139 
140 // Template rule which fires if a struct or class doesn't have operator<<
141 template<typename T>
142 inline std::ostream& operator<<(std::ostream& out,const T&) {return out;}
143 
144 // operator<< for std::vector<T>
145 template<typename T, typename A>
146 inline std::ostream& operator<<(std::ostream& out, const std::vector<T,A>& vec)
147 {
148  out.put('{');
149  for(typename std::vector<T,A>::const_iterator it = vec.begin(); it != vec.end(); ++it)
150  {
151  if (it != vec.begin()) {
152  out.put(','); out.put(' ');
153  }
154  out << *it;
155  }
156  out.put('}');
157 
158  char buf[32];
159  sprintf(buf, " (size=%u)", (unsigned int)vec.size());
160  out.write(buf, strlen(buf));
161  return out;
162 }
163 
165  omnetpp::cEnum *e = omnetpp::cEnum::find("DelimitingTimerType");
166  if (!e) omnetpp::enums.getInstance()->add(e = new omnetpp::cEnum("DelimitingTimerType"));
167  e->insert(DELIMITING_DELIMIT_TIMER, "DELIMITING_DELIMIT_TIMER");
168 );
169 
171 
172 DelimitingTimers::DelimitingTimers(const char *name, int kind) : ::omnetpp::cMessage(name,kind)
173 {
174  this->type = 0;
175 }
176 
178 {
179  copy(other);
180 }
181 
183 {
184 }
185 
187 {
188  if (this==&other) return *this;
189  ::omnetpp::cMessage::operator=(other);
190  copy(other);
191  return *this;
192 }
193 
195 {
196  this->type = other.type;
197 }
198 
199 void DelimitingTimers::parsimPack(omnetpp::cCommBuffer *b) const
200 {
201  ::omnetpp::cMessage::parsimPack(b);
202  doParsimPacking(b,this->type);
203 }
204 
205 void DelimitingTimers::parsimUnpack(omnetpp::cCommBuffer *b)
206 {
207  ::omnetpp::cMessage::parsimUnpack(b);
208  doParsimUnpacking(b,this->type);
209 }
210 
212 {
213  return this->type;
214 }
215 
217 {
218  this->type = type;
219 }
220 
221 class DelimitingTimersDescriptor : public omnetpp::cClassDescriptor
222 {
223  private:
224  mutable const char **propertynames;
225  public:
227  virtual ~DelimitingTimersDescriptor();
228 
229  virtual bool doesSupport(omnetpp::cObject *obj) const override;
230  virtual const char **getPropertyNames() const override;
231  virtual const char *getProperty(const char *propertyname) const override;
232  virtual int getFieldCount() const override;
233  virtual const char *getFieldName(int field) const override;
234  virtual int findField(const char *fieldName) const override;
235  virtual unsigned int getFieldTypeFlags(int field) const override;
236  virtual const char *getFieldTypeString(int field) const override;
237  virtual const char **getFieldPropertyNames(int field) const override;
238  virtual const char *getFieldProperty(int field, const char *propertyname) const override;
239  virtual int getFieldArraySize(void *object, int field) const override;
240 
241  virtual std::string getFieldValueAsString(void *object, int field, int i) const override;
242  virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override;
243 
244  virtual const char *getFieldStructName(int field) const override;
245  virtual void *getFieldStructValuePointer(void *object, int field, int i) const override;
246 };
247 
249 
250 DelimitingTimersDescriptor::DelimitingTimersDescriptor() : omnetpp::cClassDescriptor("DelimitingTimers", "omnetpp::cMessage")
251 {
252  propertynames = nullptr;
253 }
254 
256 {
257  delete[] propertynames;
258 }
259 
260 bool DelimitingTimersDescriptor::doesSupport(omnetpp::cObject *obj) const
261 {
262  return dynamic_cast<DelimitingTimers *>(obj)!=nullptr;
263 }
264 
266 {
267  if (!propertynames) {
268  static const char *names[] = { nullptr };
269  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
270  const char **basenames = basedesc ? basedesc->getPropertyNames() : nullptr;
271  propertynames = mergeLists(basenames, names);
272  }
273  return propertynames;
274 }
275 
276 const char *DelimitingTimersDescriptor::getProperty(const char *propertyname) const
277 {
278  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
279  return basedesc ? basedesc->getProperty(propertyname) : nullptr;
280 }
281 
283 {
284  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
285  return basedesc ? 1+basedesc->getFieldCount() : 1;
286 }
287 
289 {
290  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
291  if (basedesc) {
292  if (field < basedesc->getFieldCount())
293  return basedesc->getFieldTypeFlags(field);
294  field -= basedesc->getFieldCount();
295  }
296  static unsigned int fieldTypeFlags[] = {
297  FD_ISEDITABLE,
298  };
299  return (field>=0 && field<1) ? fieldTypeFlags[field] : 0;
300 }
301 
302 const char *DelimitingTimersDescriptor::getFieldName(int field) const
303 {
304  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
305  if (basedesc) {
306  if (field < basedesc->getFieldCount())
307  return basedesc->getFieldName(field);
308  field -= basedesc->getFieldCount();
309  }
310  static const char *fieldNames[] = {
311  "type",
312  };
313  return (field>=0 && field<1) ? fieldNames[field] : nullptr;
314 }
315 
316 int DelimitingTimersDescriptor::findField(const char *fieldName) const
317 {
318  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
319  int base = basedesc ? basedesc->getFieldCount() : 0;
320  if (fieldName[0]=='t' && strcmp(fieldName, "type")==0) return base+0;
321  return basedesc ? basedesc->findField(fieldName) : -1;
322 }
323 
325 {
326  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
327  if (basedesc) {
328  if (field < basedesc->getFieldCount())
329  return basedesc->getFieldTypeString(field);
330  field -= basedesc->getFieldCount();
331  }
332  static const char *fieldTypeStrings[] = {
333  "int",
334  };
335  return (field>=0 && field<1) ? fieldTypeStrings[field] : nullptr;
336 }
337 
339 {
340  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
341  if (basedesc) {
342  if (field < basedesc->getFieldCount())
343  return basedesc->getFieldPropertyNames(field);
344  field -= basedesc->getFieldCount();
345  }
346  switch (field) {
347  case 0: {
348  static const char *names[] = { "enum", nullptr };
349  return names;
350  }
351  default: return nullptr;
352  }
353 }
354 
355 const char *DelimitingTimersDescriptor::getFieldProperty(int field, const char *propertyname) const
356 {
357  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
358  if (basedesc) {
359  if (field < basedesc->getFieldCount())
360  return basedesc->getFieldProperty(field, propertyname);
361  field -= basedesc->getFieldCount();
362  }
363  switch (field) {
364  case 0:
365  if (!strcmp(propertyname,"enum")) return "DelimitingTimerType";
366  return nullptr;
367  default: return nullptr;
368  }
369 }
370 
371 int DelimitingTimersDescriptor::getFieldArraySize(void *object, int field) const
372 {
373  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
374  if (basedesc) {
375  if (field < basedesc->getFieldCount())
376  return basedesc->getFieldArraySize(object, field);
377  field -= basedesc->getFieldCount();
378  }
379  DelimitingTimers *pp = (DelimitingTimers *)object; (void)pp;
380  switch (field) {
381  default: return 0;
382  }
383 }
384 
385 std::string DelimitingTimersDescriptor::getFieldValueAsString(void *object, int field, int i) const
386 {
387  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
388  if (basedesc) {
389  if (field < basedesc->getFieldCount())
390  return basedesc->getFieldValueAsString(object,field,i);
391  field -= basedesc->getFieldCount();
392  }
393  DelimitingTimers *pp = (DelimitingTimers *)object; (void)pp;
394  switch (field) {
395  case 0: return enum2string(pp->getType(), "DelimitingTimerType");
396  default: return "";
397  }
398 }
399 
400 bool DelimitingTimersDescriptor::setFieldValueAsString(void *object, int field, int i, const char *value) const
401 {
402  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
403  if (basedesc) {
404  if (field < basedesc->getFieldCount())
405  return basedesc->setFieldValueAsString(object,field,i,value);
406  field -= basedesc->getFieldCount();
407  }
408  DelimitingTimers *pp = (DelimitingTimers *)object; (void)pp;
409  switch (field) {
410  case 0: pp->setType((DelimitingTimerType)string2enum(value, "DelimitingTimerType")); return true;
411  default: return false;
412  }
413 }
414 
416 {
417  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
418  if (basedesc) {
419  if (field < basedesc->getFieldCount())
420  return basedesc->getFieldStructName(field);
421  field -= basedesc->getFieldCount();
422  }
423  switch (field) {
424  default: return nullptr;
425  };
426 }
427 
428 void *DelimitingTimersDescriptor::getFieldStructValuePointer(void *object, int field, int i) const
429 {
430  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
431  if (basedesc) {
432  if (field < basedesc->getFieldCount())
433  return basedesc->getFieldStructValuePointer(object, field, i);
434  field -= basedesc->getFieldCount();
435  }
436  DelimitingTimers *pp = (DelimitingTimers *)object; (void)pp;
437  switch (field) {
438  default: return nullptr;
439  }
440 }
441 
443 
444 DelimitingDelimitTimer::DelimitingDelimitTimer(const char *name, int kind) : ::DelimitingTimers(name,kind)
445 {
447 }
448 
450 {
451  copy(other);
452 }
453 
455 {
456 }
457 
459 {
460  if (this==&other) return *this;
461  ::DelimitingTimers::operator=(other);
462  copy(other);
463  return *this;
464 }
465 
467 {
468 }
469 
470 void DelimitingDelimitTimer::parsimPack(omnetpp::cCommBuffer *b) const
471 {
473 }
474 
475 void DelimitingDelimitTimer::parsimUnpack(omnetpp::cCommBuffer *b)
476 {
478 }
479 
480 class DelimitingDelimitTimerDescriptor : public omnetpp::cClassDescriptor
481 {
482  private:
483  mutable const char **propertynames;
484  public:
487 
488  virtual bool doesSupport(omnetpp::cObject *obj) const override;
489  virtual const char **getPropertyNames() const override;
490  virtual const char *getProperty(const char *propertyname) const override;
491  virtual int getFieldCount() const override;
492  virtual const char *getFieldName(int field) const override;
493  virtual int findField(const char *fieldName) const override;
494  virtual unsigned int getFieldTypeFlags(int field) const override;
495  virtual const char *getFieldTypeString(int field) const override;
496  virtual const char **getFieldPropertyNames(int field) const override;
497  virtual const char *getFieldProperty(int field, const char *propertyname) const override;
498  virtual int getFieldArraySize(void *object, int field) const override;
499 
500  virtual std::string getFieldValueAsString(void *object, int field, int i) const override;
501  virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override;
502 
503  virtual const char *getFieldStructName(int field) const override;
504  virtual void *getFieldStructValuePointer(void *object, int field, int i) const override;
505 };
506 
508 
509 DelimitingDelimitTimerDescriptor::DelimitingDelimitTimerDescriptor() : omnetpp::cClassDescriptor("DelimitingDelimitTimer", "DelimitingTimers")
510 {
511  propertynames = nullptr;
512 }
513 
515 {
516  delete[] propertynames;
517 }
518 
519 bool DelimitingDelimitTimerDescriptor::doesSupport(omnetpp::cObject *obj) const
520 {
521  return dynamic_cast<DelimitingDelimitTimer *>(obj)!=nullptr;
522 }
523 
525 {
526  if (!propertynames) {
527  static const char *names[] = { nullptr };
528  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
529  const char **basenames = basedesc ? basedesc->getPropertyNames() : nullptr;
530  propertynames = mergeLists(basenames, names);
531  }
532  return propertynames;
533 }
534 
535 const char *DelimitingDelimitTimerDescriptor::getProperty(const char *propertyname) const
536 {
537  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
538  return basedesc ? basedesc->getProperty(propertyname) : nullptr;
539 }
540 
542 {
543  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
544  return basedesc ? 0+basedesc->getFieldCount() : 0;
545 }
546 
548 {
549  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
550  if (basedesc) {
551  if (field < basedesc->getFieldCount())
552  return basedesc->getFieldTypeFlags(field);
553  field -= basedesc->getFieldCount();
554  }
555  return 0;
556 }
557 
559 {
560  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
561  if (basedesc) {
562  if (field < basedesc->getFieldCount())
563  return basedesc->getFieldName(field);
564  field -= basedesc->getFieldCount();
565  }
566  return nullptr;
567 }
568 
569 int DelimitingDelimitTimerDescriptor::findField(const char *fieldName) const
570 {
571  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
572  return basedesc ? basedesc->findField(fieldName) : -1;
573 }
574 
576 {
577  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
578  if (basedesc) {
579  if (field < basedesc->getFieldCount())
580  return basedesc->getFieldTypeString(field);
581  field -= basedesc->getFieldCount();
582  }
583  return nullptr;
584 }
585 
587 {
588  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
589  if (basedesc) {
590  if (field < basedesc->getFieldCount())
591  return basedesc->getFieldPropertyNames(field);
592  field -= basedesc->getFieldCount();
593  }
594  switch (field) {
595  default: return nullptr;
596  }
597 }
598 
599 const char *DelimitingDelimitTimerDescriptor::getFieldProperty(int field, const char *propertyname) const
600 {
601  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
602  if (basedesc) {
603  if (field < basedesc->getFieldCount())
604  return basedesc->getFieldProperty(field, propertyname);
605  field -= basedesc->getFieldCount();
606  }
607  switch (field) {
608  default: return nullptr;
609  }
610 }
611 
612 int DelimitingDelimitTimerDescriptor::getFieldArraySize(void *object, int field) const
613 {
614  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
615  if (basedesc) {
616  if (field < basedesc->getFieldCount())
617  return basedesc->getFieldArraySize(object, field);
618  field -= basedesc->getFieldCount();
619  }
620  DelimitingDelimitTimer *pp = (DelimitingDelimitTimer *)object; (void)pp;
621  switch (field) {
622  default: return 0;
623  }
624 }
625 
626 std::string DelimitingDelimitTimerDescriptor::getFieldValueAsString(void *object, int field, int i) const
627 {
628  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
629  if (basedesc) {
630  if (field < basedesc->getFieldCount())
631  return basedesc->getFieldValueAsString(object,field,i);
632  field -= basedesc->getFieldCount();
633  }
634  DelimitingDelimitTimer *pp = (DelimitingDelimitTimer *)object; (void)pp;
635  switch (field) {
636  default: return "";
637  }
638 }
639 
640 bool DelimitingDelimitTimerDescriptor::setFieldValueAsString(void *object, int field, int i, const char *value) const
641 {
642  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
643  if (basedesc) {
644  if (field < basedesc->getFieldCount())
645  return basedesc->setFieldValueAsString(object,field,i,value);
646  field -= basedesc->getFieldCount();
647  }
648  DelimitingDelimitTimer *pp = (DelimitingDelimitTimer *)object; (void)pp;
649  switch (field) {
650  default: return false;
651  }
652 }
653 
655 {
656  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
657  if (basedesc) {
658  if (field < basedesc->getFieldCount())
659  return basedesc->getFieldStructName(field);
660  field -= basedesc->getFieldCount();
661  }
662  return nullptr;
663 }
664 
665 void *DelimitingDelimitTimerDescriptor::getFieldStructValuePointer(void *object, int field, int i) const
666 {
667  omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
668  if (basedesc) {
669  if (field < basedesc->getFieldCount())
670  return basedesc->getFieldStructValuePointer(object, field, i);
671  field -= basedesc->getFieldCount();
672  }
673  DelimitingDelimitTimer *pp = (DelimitingDelimitTimer *)object; (void)pp;
674  switch (field) {
675  default: return nullptr;
676  }
677 }
678 
679 
EXECUTE_ON_STARTUP(omnetpp::cEnum *e=omnetpp::cEnum::find("DelimitingTimerType");if(!e) omnetpp::enums.getInstance() ->add(e=new omnetpp::cEnum("DelimitingTimerType"));e->insert(DELIMITING_DELIMIT_TIMER,"DELIMITING_DELIMIT_TIMER");)
virtual const char * getFieldName(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 int getFieldCount() const override
virtual void setType(int type)
Register_ClassDescriptor(DelimitingTimersDescriptor)
DelimitingDelimitTimer & operator=(const DelimitingDelimitTimer &other)
Register_Class(DelimitingTimers)
virtual const char * getProperty(const char *propertyname) const override
DelimitingTimers & operator=(const DelimitingTimers &other)
virtual const char * getProperty(const char *propertyname) const override
void doParsimPacking(omnetpp::cCommBuffer *buffer, const std::vector< T, A > &v)
Definition: PDU_m.cc:22
virtual int getType() const
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual int getFieldArraySize(void *object, int field) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual int findField(const char *fieldName) const override
virtual void parsimPack(omnetpp::cCommBuffer *b) const
void doParsimUnpacking(omnetpp::cCommBuffer *buffer, std::vector< T, A > &v)
Definition: PDU_m.cc:31
virtual int findField(const char *fieldName) const override
virtual const char * getFieldTypeString(int field) const override
void doParsimArrayUnpacking(omnetpp::cCommBuffer *b, T *t, int n)
Definition: PDU_m.cc:114
virtual const char * getFieldStructName(int field) const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
DelimitingDelimitTimer(const char *name=nullptr, int kind=0)
virtual const char ** getPropertyNames() const override
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
DelimitingTimers(const char *name=nullptr, int kind=0)
DelimitingTimerType
Definition: PDU_m.cc:15
virtual const char ** getFieldPropertyNames(int field) const override
virtual unsigned int getFieldTypeFlags(int field) const override
virtual int getFieldCount() const override
virtual const char ** getPropertyNames() const override
void copy(const DelimitingDelimitTimer &other)
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual const char * getFieldTypeString(int field) const override
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual const char * getFieldName(int field) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual const char ** getFieldPropertyNames(int field) const override
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
void doParsimArrayPacking(omnetpp::cCommBuffer *b, const T *t, int n)
Definition: PDU_m.cc:107
virtual unsigned int getFieldTypeFlags(int field) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
void copy(const DelimitingTimers &other)