int TicTocMsg14Descriptor::findField(void *object, const char *fieldName) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); int base = basedesc ? basedesc->getFieldCount(object) : 0; if (fieldName[0]=='s' && strcmp(fieldName, "source")==0) return base+0; if (fieldName[0]=='d' && strcmp(fieldName, "destination")==0) return base+1; if (fieldName[0]=='h' && strcmp(fieldName, "hopCount")==0) return base+2; return basedesc ? basedesc->findField(object, fieldName) : -1; }
const char *PacketDescriptor::getFieldProperty(void *object, int field, const char *propertyname) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->getFieldProperty(object, field, propertyname); field -= basedesc->getFieldCount(object); } switch (field) { default: return NULL; } }
const char *TicTocMsg14Descriptor::getFieldStructName(void *object, int field) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->getFieldStructName(object, field); field -= basedesc->getFieldCount(object); } switch (field) { default: return NULL; }; }
int PacketDescriptor::getArraySize(void *object, int field) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->getArraySize(object, field); field -= basedesc->getFieldCount(object); } Packet *pp = (Packet *)object; (void)pp; switch (field) { default: return 0; } }
void *PacketDescriptor::getFieldStructPointer(void *object, int field, int i) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->getFieldStructPointer(object, field, i); field -= basedesc->getFieldCount(object); } Packet *pp = (Packet *)object; (void)pp; switch (field) { default: return NULL; } }
int PacketDescriptor::findField(void *object, const char *fieldName) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); int base = basedesc ? basedesc->getFieldCount(object) : 0; if (fieldName[0]=='s' && strcmp(fieldName, "src")==0) return base+0; if (fieldName[0]=='d' && strcmp(fieldName, "dst")==0) return base+1; if (fieldName[0]=='s' && strcmp(fieldName, "sessionID")==0) return base+2; if (fieldName[0]=='p' && strcmp(fieldName, "packetID")==0) return base+3; if (fieldName[0]=='p' && strcmp(fieldName, "priority")==0) return base+4; if (fieldName[0]=='h' && strcmp(fieldName, "hops")==0) return base+5; if (fieldName[0]=='p' && strcmp(fieldName, "payload")==0) return base+6; if (fieldName[0]=='d' && strcmp(fieldName, "ds")==0) return base+7; if (fieldName[0]=='c' && strcmp(fieldName, "creationTime")==0) return base+8; return basedesc ? basedesc->findField(object, fieldName) : -1; }
unsigned int TicTocMsg14Descriptor::getFieldTypeFlags(void *object, int field) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->getFieldTypeFlags(object, field); field -= basedesc->getFieldCount(object); } static unsigned int fieldTypeFlags[] = { FD_ISEDITABLE, FD_ISEDITABLE, FD_ISEDITABLE, }; return (field>=0 && field<3) ? fieldTypeFlags[field] : 0; }
const char *TicTocMsg14Descriptor::getFieldTypeString(void *object, int field) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->getFieldTypeString(object, field); field -= basedesc->getFieldCount(object); } static const char *fieldTypeStrings[] = { "int", "int", "int", }; return (field>=0 && field<3) ? fieldTypeStrings[field] : NULL; }
const char *TicTocMsg14Descriptor::getFieldName(void *object, int field) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->getFieldName(object, field); field -= basedesc->getFieldCount(object); } static const char *fieldNames[] = { "source", "destination", "hopCount", }; return (field>=0 && field<3) ? fieldNames[field] : NULL; }
bool TicTocMsg14Descriptor::setFieldAsString(void *object, int field, int i, const char *value) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->setFieldAsString(object,field,i,value); field -= basedesc->getFieldCount(object); } TicTocMsg14 *pp = (TicTocMsg14 *)object; (void)pp; switch (field) { case 0: pp->setSource(string2long(value)); return true; case 1: pp->setDestination(string2long(value)); return true; case 2: pp->setHopCount(string2long(value)); return true; default: return false; } }
std::string TicTocMsg14Descriptor::getFieldAsString(void *object, int field, int i) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->getFieldAsString(object,field,i); field -= basedesc->getFieldCount(object); } TicTocMsg14 *pp = (TicTocMsg14 *)object; (void)pp; switch (field) { case 0: return long2string(pp->getSource()); case 1: return long2string(pp->getDestination()); case 2: return long2string(pp->getHopCount()); default: return ""; } }
const char *PacketDescriptor::getFieldName(void *object, int field) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->getFieldName(object, field); field -= basedesc->getFieldCount(object); } static const char *fieldNames[] = { "src", "dst", "sessionID", "packetID", "priority", "hops", "payload", "ds", "creationTime", }; return (field>=0 && field<9) ? fieldNames[field] : NULL; }
const char *PacketDescriptor::getFieldStructName(void *object, int field) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->getFieldStructName(object, field); field -= basedesc->getFieldCount(object); } static const char *fieldStructNames[] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }; return (field>=0 && field<9) ? fieldStructNames[field] : NULL; }
bool PacketDescriptor::setFieldAsString(void *object, int field, int i, const char *value) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->setFieldAsString(object,field,i,value); field -= basedesc->getFieldCount(object); } Packet *pp = (Packet *)object; (void)pp; switch (field) { case 0: pp->setSrc(string2long(value)); return true; case 1: pp->setDst(string2long(value)); return true; case 2: pp->setSessionID(string2long(value)); return true; case 3: pp->setPacketID(string2long(value)); return true; case 4: pp->setPriority(string2long(value)); return true; case 5: pp->setHops(string2long(value)); return true; case 6: pp->setPayload(string2long(value)); return true; case 7: pp->setDs(string2long(value)); return true; case 8: pp->setCreationTime(string2double(value)); return true; default: return false; } }
std::string PacketDescriptor::getFieldAsString(void *object, int field, int i) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); if (basedesc) { if (field < basedesc->getFieldCount(object)) return basedesc->getFieldAsString(object,field,i); field -= basedesc->getFieldCount(object); } Packet *pp = (Packet *)object; (void)pp; switch (field) { case 0: return long2string(pp->getSrc()); case 1: return long2string(pp->getDst()); case 2: return long2string(pp->getSessionID()); case 3: return long2string(pp->getPacketID()); case 4: return long2string(pp->getPriority()); case 5: return long2string(pp->getHops()); case 6: return long2string(pp->getPayload()); case 7: return long2string(pp->getDs()); case 8: return double2string(pp->getCreationTime()); default: return ""; } }
const char *PacketDescriptor::getProperty(const char *propertyname) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); return basedesc ? basedesc->getProperty(propertyname) : NULL; }
int PacketDescriptor::getFieldCount(void *object) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); return basedesc ? 9+basedesc->getFieldCount(object) : 9; }
int TicTocMsg14Descriptor::getFieldCount(void *object) const { cClassDescriptor *basedesc = getBaseClassDescriptor(); return basedesc ? 3+basedesc->getFieldCount(object) : 3; }