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(
"DelimitingTimerType");
166 if (!e) omnetpp::enums.getInstance()->add(e =
new omnetpp::cEnum(
"DelimitingTimerType"));
188 if (
this==&other)
return *
this;
189 ::omnetpp::cMessage::operator=(other);
201 ::omnetpp::cMessage::parsimPack(b);
207 ::omnetpp::cMessage::parsimUnpack(b);
229 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
231 virtual const char *
getProperty(
const char *propertyname)
const override;
233 virtual const char *
getFieldName(
int field)
const override;
234 virtual int findField(
const char *fieldName)
const override;
238 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
242 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
268 static const char *names[] = {
nullptr };
269 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
270 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
278 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
279 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
284 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
285 return basedesc ? 1+basedesc->getFieldCount() : 1;
290 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
293 return basedesc->getFieldTypeFlags(field);
294 field -= basedesc->getFieldCount();
296 static unsigned int fieldTypeFlags[] = {
299 return (field>=0 && field<1) ? fieldTypeFlags[field] : 0;
304 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
307 return basedesc->getFieldName(field);
308 field -= basedesc->getFieldCount();
310 static const char *fieldNames[] = {
313 return (field>=0 && field<1) ? fieldNames[field] :
nullptr;
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;
326 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
329 return basedesc->getFieldTypeString(field);
330 field -= basedesc->getFieldCount();
332 static const char *fieldTypeStrings[] = {
335 return (field>=0 && field<1) ? fieldTypeStrings[field] :
nullptr;
340 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
343 return basedesc->getFieldPropertyNames(field);
344 field -= basedesc->getFieldCount();
348 static const char *names[] = {
"enum",
nullptr };
351 default:
return nullptr;
357 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
360 return basedesc->getFieldProperty(field, propertyname);
361 field -= basedesc->getFieldCount();
365 if (!strcmp(propertyname,
"enum"))
return "DelimitingTimerType";
367 default:
return nullptr;
373 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
376 return basedesc->getFieldArraySize(
object, field);
377 field -= basedesc->getFieldCount();
387 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
390 return basedesc->getFieldValueAsString(
object,field,i);
391 field -= basedesc->getFieldCount();
395 case 0:
return enum2string(pp->
getType(),
"DelimitingTimerType");
402 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
405 return basedesc->setFieldValueAsString(
object,field,i,value);
406 field -= basedesc->getFieldCount();
411 default:
return false;
417 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
420 return basedesc->getFieldStructName(field);
421 field -= basedesc->getFieldCount();
424 default:
return nullptr;
430 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
433 return basedesc->getFieldStructValuePointer(
object, field, i);
434 field -= basedesc->getFieldCount();
438 default:
return nullptr;
460 if (
this==&other)
return *
this;
461 ::DelimitingTimers::operator=(other);
488 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
490 virtual const char *
getProperty(
const char *propertyname)
const override;
492 virtual const char *
getFieldName(
int field)
const override;
493 virtual int findField(
const char *fieldName)
const override;
497 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
501 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
527 static const char *names[] = {
nullptr };
528 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
529 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
537 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
538 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
543 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
544 return basedesc ? 0+basedesc->getFieldCount() : 0;
549 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
552 return basedesc->getFieldTypeFlags(field);
553 field -= basedesc->getFieldCount();
560 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
563 return basedesc->getFieldName(field);
564 field -= basedesc->getFieldCount();
571 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
572 return basedesc ? basedesc->findField(fieldName) : -1;
577 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
580 return basedesc->getFieldTypeString(field);
581 field -= basedesc->getFieldCount();
588 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
591 return basedesc->getFieldPropertyNames(field);
592 field -= basedesc->getFieldCount();
595 default:
return nullptr;
601 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
604 return basedesc->getFieldProperty(field, propertyname);
605 field -= basedesc->getFieldCount();
608 default:
return nullptr;
614 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
617 return basedesc->getFieldArraySize(
object, field);
618 field -= basedesc->getFieldCount();
628 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
631 return basedesc->getFieldValueAsString(
object,field,i);
632 field -= basedesc->getFieldCount();
642 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
645 return basedesc->setFieldValueAsString(
object,field,i,value);
646 field -= basedesc->getFieldCount();
650 default:
return false;
656 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
659 return basedesc->getFieldStructName(field);
660 field -= basedesc->getFieldCount();
667 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
670 return basedesc->getFieldStructValuePointer(
object, field, i);
671 field -= basedesc->getFieldCount();
675 default:
return nullptr;
DelimitingDelimitTimerDescriptor()
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)
DelimitingTimersDescriptor()
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)
virtual int getType() const
const char ** propertynames
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual ~DelimitingTimers()
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)
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)
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)
virtual ~DelimitingDelimitTimer()
virtual ~DelimitingDelimitTimerDescriptor()
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
const char ** propertynames
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual const char ** getFieldPropertyNames(int field) const override
virtual ~DelimitingTimersDescriptor()
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)
virtual unsigned int getFieldTypeFlags(int field) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
void copy(const DelimitingTimers &other)