Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

EtherCtrl_m.cc

Go to the documentation of this file.
00001 //
00002 // Generated file, do not edit! Created by opp_msgc.
00003 //
00004 
00005 // Disable warnings about unused variables, empty switch stmts, etc:
00006 #ifdef _MSC_VER
00007 #  pragma warning(disable:4101)
00008 #  pragma warning(disable:4065)
00009 #endif
00010 
00011 #include <iostream>
00012 #include <sstream>
00013 #include "EtherCtrl_m.h"
00014 
00015 // Template rule which fires if a struct or class doesn't have operator<<
00016 template<typename T> std::ostream& operator<<(std::ostream& out,const T&) {return out;}
00017 
00018 EXECUTE_ON_STARTUP(EtherMessageKind,
00019     cEnum *e = findEnum("EtherMessageKind");
00020     if (!e) enums.instance()->add(e = new cEnum("EtherMessageKind"));
00021     e->insert(JAM_SIGNAL, "JAM_SIGNAL");
00022     e->insert(ETH_FRAME, "ETH_FRAME");
00023     e->insert(ETH_PAUSE, "ETH_PAUSE");
00024     e->insert(ETHCTRL_DATA, "ETHCTRL_DATA");
00025     e->insert(ETHCTRL_REGISTER_DSAP, "ETHCTRL_REGISTER_DSAP");
00026     e->insert(ETHCTRL_DEREGISTER_DSAP, "ETHCTRL_DEREGISTER_DSAP");
00027     e->insert(ETHCTRL_SENDPAUSE, "ETHCTRL_SENDPAUSE");
00028 );
00029 
00030 EXECUTE_ON_STARTUP(EtherType,
00031     cEnum *e = findEnum("EtherType");
00032     if (!e) enums.instance()->add(e = new cEnum("EtherType"));
00033     e->insert(ETHERTYPE_IP, "ETHERTYPE_IP");
00034     e->insert(ETHERTYPE_ARP, "ETHERTYPE_ARP");
00035     e->insert(ETHERTYPE_RARP, "ETHERTYPE_RARP");
00036 );
00037 
00038 EXECUTE_ON_STARTUP(SAPCode,
00039     cEnum *e = findEnum("SAPCode");
00040     if (!e) enums.instance()->add(e = new cEnum("SAPCode"));
00041     e->insert(SAP_IBM_SNA, "SAP_IBM_SNA");
00042     e->insert(SAP_IP, "SAP_IP");
00043     e->insert(SAP_3COM, "SAP_3COM");
00044     e->insert(SAP_SNAP, "SAP_SNAP");
00045     e->insert(SAP_BANYAN, "SAP_BANYAN");
00046     e->insert(SAP_NOVELL_IPX, "SAP_NOVELL_IPX");
00047     e->insert(SAP_LAN_MANAGER, "SAP_LAN_MANAGER");
00048     e->insert(SAP_CLNS, "SAP_CLNS");
00049 );
00050 
00051 EtherCtrl::EtherCtrl() : cPolymorphic()
00052 {
00053     unsigned int i;
00054     this->etherType_var = 0;
00055     this->ssap_var = 0;
00056     this->dsap_var = 0;
00057     this->pauseUnits_var = 0;
00058 }
00059 
00060 EtherCtrl::EtherCtrl(const EtherCtrl& other) : cPolymorphic()
00061 {
00062     unsigned int i;
00063     operator=(other);
00064 }
00065 
00066 EtherCtrl::~EtherCtrl()
00067 {
00068     unsigned int i;
00069 }
00070 
00071 EtherCtrl& EtherCtrl::operator=(const EtherCtrl& other)
00072 {
00073     if (this==&other) return *this;
00074     unsigned int i;
00075     cPolymorphic::operator=(other);
00076     this->src_var = other.src_var;
00077     this->dest_var = other.dest_var;
00078     this->etherType_var = other.etherType_var;
00079     this->ssap_var = other.ssap_var;
00080     this->dsap_var = other.dsap_var;
00081     this->pauseUnits_var = other.pauseUnits_var;
00082     return *this;
00083 }
00084 
00085 MACAddress& EtherCtrl::getSrc()
00086 {
00087     return src_var;
00088 }
00089 
00090 void EtherCtrl::setSrc(const MACAddress& src_var)
00091 {
00092     this->src_var = src_var;
00093 }
00094 
00095 MACAddress& EtherCtrl::getDest()
00096 {
00097     return dest_var;
00098 }
00099 
00100 void EtherCtrl::setDest(const MACAddress& dest_var)
00101 {
00102     this->dest_var = dest_var;
00103 }
00104 
00105 int EtherCtrl::getEtherType() const
00106 {
00107     return etherType_var;
00108 }
00109 
00110 void EtherCtrl::setEtherType(int etherType_var)
00111 {
00112     this->etherType_var = etherType_var;
00113 }
00114 
00115 int EtherCtrl::getSsap() const
00116 {
00117     return ssap_var;
00118 }
00119 
00120 void EtherCtrl::setSsap(int ssap_var)
00121 {
00122     this->ssap_var = ssap_var;
00123 }
00124 
00125 int EtherCtrl::getDsap() const
00126 {
00127     return dsap_var;
00128 }
00129 
00130 void EtherCtrl::setDsap(int dsap_var)
00131 {
00132     this->dsap_var = dsap_var;
00133 }
00134 
00135 int EtherCtrl::getPauseUnits() const
00136 {
00137     return pauseUnits_var;
00138 }
00139 
00140 void EtherCtrl::setPauseUnits(int pauseUnits_var)
00141 {
00142     this->pauseUnits_var = pauseUnits_var;
00143 }
00144 
00145 class EtherCtrlDescriptor : public cStructDescriptor
00146 {
00147   public:
00148     EtherCtrlDescriptor(void *p=NULL);
00149     virtual ~EtherCtrlDescriptor();
00150     EtherCtrlDescriptor& operator=(const EtherCtrlDescriptor& other);
00151     virtual cObject *dup() const {return new EtherCtrlDescriptor(*this);}
00152 
00153     virtual int getFieldCount();
00154     virtual const char *getFieldName(int field);
00155     virtual int getFieldType(int field);
00156     virtual const char *getFieldTypeString(int field);
00157     virtual const char *getFieldEnumName(int field);
00158     virtual int getArraySize(int field);
00159 
00160     virtual bool getFieldAsString(int field, int i, char *resultbuf, int bufsize);
00161     virtual bool setFieldAsString(int field, int i, const char *value);
00162 
00163     virtual const char *getFieldStructName(int field);
00164     virtual void *getFieldStructPointer(int field, int i);
00165     virtual sFieldWrapper *getFieldWrapper(int field, int i);
00166 };
00167 
00168 Register_Class(EtherCtrlDescriptor);
00169 
00170 EtherCtrlDescriptor::EtherCtrlDescriptor(void *p) : cStructDescriptor(p)
00171 {
00172 }
00173 
00174 EtherCtrlDescriptor::~EtherCtrlDescriptor()
00175 {
00176 }
00177 
00178 int EtherCtrlDescriptor::getFieldCount()
00179 {
00180     return 6;
00181 }
00182 
00183 int EtherCtrlDescriptor::getFieldType(int field)
00184 {
00185     switch (field) {
00186         case 0: return FT_STRUCT;
00187         case 1: return FT_STRUCT;
00188         case 2: return FT_BASIC;
00189         case 3: return FT_BASIC;
00190         case 4: return FT_BASIC;
00191         case 5: return FT_BASIC;
00192         default: return FT_INVALID;
00193     }
00194 }
00195 
00196 const char *EtherCtrlDescriptor::getFieldName(int field)
00197 {
00198     switch (field) {
00199         case 0: return "src";
00200         case 1: return "dest";
00201         case 2: return "etherType";
00202         case 3: return "ssap";
00203         case 4: return "dsap";
00204         case 5: return "pauseUnits";
00205         default: return NULL;
00206     }
00207 }
00208 
00209 const char *EtherCtrlDescriptor::getFieldTypeString(int field)
00210 {
00211     switch (field) {
00212         case 0: return "MACAddress";
00213         case 1: return "MACAddress";
00214         case 2: return "int";
00215         case 3: return "int";
00216         case 4: return "int";
00217         case 5: return "int";
00218         default: return NULL;
00219     }
00220 }
00221 
00222 const char *EtherCtrlDescriptor::getFieldEnumName(int field)
00223 {
00224     switch (field) {
00225         default: return NULL;
00226     }
00227 }
00228 
00229 int EtherCtrlDescriptor::getArraySize(int field)
00230 {
00231     EtherCtrl *pp = (EtherCtrl *)p;
00232     switch (field) {
00233         default: return 0;
00234     }
00235 }
00236 
00237 bool EtherCtrlDescriptor::getFieldAsString(int field, int i, char *resultbuf, int bufsize)
00238 {
00239     EtherCtrl *pp = (EtherCtrl *)p;
00240     switch (field) {
00241         case 0: {std::stringstream out; out << pp->getSrc(); opp_strprettytrunc(resultbuf,out.str().c_str(),bufsize-1); return true;}
00242         case 1: {std::stringstream out; out << pp->getDest(); opp_strprettytrunc(resultbuf,out.str().c_str(),bufsize-1); return true;}
00243         case 2: long2string(pp->getEtherType(),resultbuf,bufsize); return true;
00244         case 3: long2string(pp->getSsap(),resultbuf,bufsize); return true;
00245         case 4: long2string(pp->getDsap(),resultbuf,bufsize); return true;
00246         case 5: long2string(pp->getPauseUnits(),resultbuf,bufsize); return true;
00247         default: return false;
00248     }
00249 }
00250 
00251 bool EtherCtrlDescriptor::setFieldAsString(int field, int i, const char *value)
00252 {
00253     EtherCtrl *pp = (EtherCtrl *)p;
00254     switch (field) {
00255         case 0: return false;
00256         case 1: return false;
00257         case 2: pp->setEtherType(string2long(value)); return true;
00258         case 3: pp->setSsap(string2long(value)); return true;
00259         case 4: pp->setDsap(string2long(value)); return true;
00260         case 5: pp->setPauseUnits(string2long(value)); return true;
00261         default: return false;
00262     }
00263 }
00264 
00265 const char *EtherCtrlDescriptor::getFieldStructName(int field)
00266 {
00267     switch (field) {
00268         case 0: return "MACAddress"; break;
00269         case 1: return "MACAddress"; break;
00270         default: return NULL;
00271     }
00272 }
00273 
00274 void *EtherCtrlDescriptor::getFieldStructPointer(int field, int i)
00275 {
00276     EtherCtrl *pp = (EtherCtrl *)p;
00277     switch (field) {
00278         case 0: return (void *)&pp->getSrc(); break;
00279         case 1: return (void *)&pp->getDest(); break;
00280         default: return NULL;
00281     }
00282 }
00283 
00284 sFieldWrapper *EtherCtrlDescriptor::getFieldWrapper(int field, int i)
00285 {
00286     return NULL;
00287 }
00288 

Generated on Sat May 15 20:30:42 2004 for Ethernet by doxygen1.2.17