?? packet_m.cpp
字號:
//
// Generated file, do not edit! Created by opp_msgc 3.3 from packet.msg.
//
// Disable warnings about unused variables, empty switch stmts, etc:
#ifdef _MSC_VER
# pragma warning(disable:4101)
# pragma warning(disable:4065)
#endif
#include <iostream>
#include <sstream>
#include "packet_m.h"
// Template rule which fires if a struct or class doesn't have operator<<
template<typename T>
std::ostream& operator<<(std::ostream& out,const T&) {return out;}
// Another default rule (prevents compiler from choosing base class' doPacking())
template<typename T>
void doPacking(cCommBuffer *, T& t) {
throw new cException("Parsim error: no doPacking() function for type %s or its base class (check .msg and _m.cc/h files!)",opp_typename(typeid(t)));
}
template<typename T>
void doUnpacking(cCommBuffer *, T& t) {
throw new cException("Parsim error: no doUnpacking() function for type %s or its base class (check .msg and _m.cc/h files!)",opp_typename(typeid(t)));
}
// Automatically supply array (un)packing functions
template<typename T>
void doPacking(cCommBuffer *b, T *t, int n) {
for (int i=0; i<n; i++)
doPacking(b,t[i]);
}
template<typename T>
void doUnpacking(cCommBuffer *b, T *t, int n) {
for (int i=0; i<n; i++)
doUnpacking(b,t[i]);
}
inline void doPacking(cCommBuffer *, cPolymorphic&) {}
inline void doUnpacking(cCommBuffer *, cPolymorphic&) {}
#define DOPACKING(T,R) \
inline void doPacking(cCommBuffer *b, T R a) {b->pack(a);} \
inline void doPacking(cCommBuffer *b, T *a, int n) {b->pack(a,n);} \
inline void doUnpacking(cCommBuffer *b, T& a) {b->unpack(a);} \
inline void doUnpacking(cCommBuffer *b, T *a, int n) {b->unpack(a,n);}
#define _
DOPACKING(char,_)
DOPACKING(unsigned char,_)
DOPACKING(bool,_)
DOPACKING(short,_)
DOPACKING(unsigned short,_)
DOPACKING(int,_)
DOPACKING(unsigned int,_)
DOPACKING(long,_)
DOPACKING(unsigned long,_)
DOPACKING(float,_)
DOPACKING(double,_)
DOPACKING(long double,_)
DOPACKING(char *,_)
DOPACKING(const char *,_)
DOPACKING(opp_string,&)
//DOPACKING(std::string,&)
#undef _
#undef DOPACKING
Register_Class(Packet);
Packet::Packet(const char *name, int kind) : cMessage(name,kind)
{
this->srcAddr_var = 0;
this->destAddr_var = 0;
this->hopCount_var = 0;
}
Packet::Packet(const Packet& other) : cMessage()
{
unsigned int i;
setName(other.name());
operator=(other);
}
Packet::~Packet()
{
unsigned int i;
}
Packet& Packet::operator=(const Packet& other)
{
if (this==&other) return *this;
unsigned int i;
cMessage::operator=(other);
this->srcAddr_var = other.srcAddr_var;
this->destAddr_var = other.destAddr_var;
this->hopCount_var = other.hopCount_var;
return *this;
}
void Packet::netPack(cCommBuffer *b)
{
cMessage::netPack(b);
doPacking(b,this->srcAddr_var);
doPacking(b,this->destAddr_var);
doPacking(b,this->hopCount_var);
}
void Packet::netUnpack(cCommBuffer *b)
{
cMessage::netUnpack(b);
doUnpacking(b,this->srcAddr_var);
doUnpacking(b,this->destAddr_var);
doUnpacking(b,this->hopCount_var);
}
int Packet::getSrcAddr() const
{
return srcAddr_var;
}
void Packet::setSrcAddr(int srcAddr_var)
{
this->srcAddr_var = srcAddr_var;
}
int Packet::getDestAddr() const
{
return destAddr_var;
}
void Packet::setDestAddr(int destAddr_var)
{
this->destAddr_var = destAddr_var;
}
int Packet::getHopCount() const
{
return hopCount_var;
}
void Packet::setHopCount(int hopCount_var)
{
this->hopCount_var = hopCount_var;
}
class PacketDescriptor : public cStructDescriptor
{
public:
PacketDescriptor();
virtual ~PacketDescriptor();
PacketDescriptor& operator=(const PacketDescriptor& other);
virtual cPolymorphic *dup() const {return new PacketDescriptor(*this);}
virtual int getFieldCount();
virtual const char *getFieldName(int field);
virtual int getFieldType(int field);
virtual const char *getFieldTypeString(int field);
virtual const char *getFieldEnumName(int field);
virtual int getArraySize(int field);
virtual bool getFieldAsString(int field, int i, char *resultbuf, int bufsize);
virtual bool setFieldAsString(int field, int i, const char *value);
virtual const char *getFieldStructName(int field);
virtual void *getFieldStructPointer(int field, int i);
virtual sFieldWrapper *getFieldWrapper(int field, int i);
};
Register_Class(PacketDescriptor);
PacketDescriptor::PacketDescriptor() : cStructDescriptor("cMessage")
{
}
PacketDescriptor::~PacketDescriptor()
{
}
int PacketDescriptor::getFieldCount()
{
return baseclassdesc ? 3+baseclassdesc->getFieldCount() : 3;
}
int PacketDescriptor::getFieldType(int field)
{
if (baseclassdesc) {
if (field < baseclassdesc->getFieldCount())
return baseclassdesc->getFieldType(field);
field -= baseclassdesc->getFieldCount();
}
switch (field) {
case 0: return FT_BASIC;
case 1: return FT_BASIC;
case 2: return FT_BASIC;
default: return FT_INVALID;
}
}
const char *PacketDescriptor::getFieldName(int field)
{
if (baseclassdesc) {
if (field < baseclassdesc->getFieldCount())
return baseclassdesc->getFieldName(field);
field -= baseclassdesc->getFieldCount();
}
switch (field) {
case 0: return "srcAddr";
case 1: return "destAddr";
case 2: return "hopCount";
default: return NULL;
}
}
const char *PacketDescriptor::getFieldTypeString(int field)
{
if (baseclassdesc) {
if (field < baseclassdesc->getFieldCount())
return baseclassdesc->getFieldTypeString(field);
field -= baseclassdesc->getFieldCount();
}
switch (field) {
case 0: return "int";
case 1: return "int";
case 2: return "int";
default: return NULL;
}
}
const char *PacketDescriptor::getFieldEnumName(int field)
{
if (baseclassdesc) {
if (field < baseclassdesc->getFieldCount())
return baseclassdesc->getFieldEnumName(field);
field -= baseclassdesc->getFieldCount();
}
switch (field) {
default: return NULL;
}
}
int PacketDescriptor::getArraySize(int field)
{
if (baseclassdesc) {
if (field < baseclassdesc->getFieldCount())
return baseclassdesc->getArraySize(field);
field -= baseclassdesc->getFieldCount();
}
Packet *pp = (Packet *)p;
switch (field) {
default: return 0;
}
}
bool PacketDescriptor::getFieldAsString(int field, int i, char *resultbuf, int bufsize)
{
if (baseclassdesc) {
if (field < baseclassdesc->getFieldCount())
return baseclassdesc->getFieldAsString(field,i,resultbuf,bufsize);
field -= baseclassdesc->getFieldCount();
}
Packet *pp = (Packet *)p;
switch (field) {
case 0: long2string(pp->getSrcAddr(),resultbuf,bufsize); return true;
case 1: long2string(pp->getDestAddr(),resultbuf,bufsize); return true;
case 2: long2string(pp->getHopCount(),resultbuf,bufsize); return true;
default: return false;
}
}
bool PacketDescriptor::setFieldAsString(int field, int i, const char *value)
{
if (baseclassdesc) {
if (field < baseclassdesc->getFieldCount())
return baseclassdesc->setFieldAsString(field,i,value);
field -= baseclassdesc->getFieldCount();
}
Packet *pp = (Packet *)p;
switch (field) {
case 0: pp->setSrcAddr(string2long(value)); return true;
case 1: pp->setDestAddr(string2long(value)); return true;
case 2: pp->setHopCount(string2long(value)); return true;
default: return false;
}
}
const char *PacketDescriptor::getFieldStructName(int field)
{
if (baseclassdesc) {
if (field < baseclassdesc->getFieldCount())
return baseclassdesc->getFieldStructName(field);
field -= baseclassdesc->getFieldCount();
}
switch (field) {
default: return NULL;
}
}
void *PacketDescriptor::getFieldStructPointer(int field, int i)
{
if (baseclassdesc) {
if (field < baseclassdesc->getFieldCount())
return baseclassdesc->getFieldStructPointer(field, i);
field -= baseclassdesc->getFieldCount();
}
Packet *pp = (Packet *)p;
switch (field) {
default: return NULL;
}
}
sFieldWrapper *PacketDescriptor::getFieldWrapper(int field, int i)
{
return NULL;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -