00001
00002
00003
00004
00005
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 "MACAddress_m.h"
00014
00015
00016 template<typename T> std::ostream& operator<<(std::ostream& out,const T&) {return out;}
00017
00018 MACAddress_Base::MACAddress_Base() : cPolymorphic()
00019 {
00020 unsigned int i;
00021 }
00022
00023 MACAddress_Base::MACAddress_Base(const MACAddress_Base& other) : cPolymorphic()
00024 {
00025 unsigned int i;
00026 operator=(other);
00027 }
00028
00029 MACAddress_Base::~MACAddress_Base()
00030 {
00031 unsigned int i;
00032 }
00033
00034 MACAddress_Base& MACAddress_Base::operator=(const MACAddress_Base& other)
00035 {
00036 if (this==&other) return *this;
00037 unsigned int i;
00038 cPolymorphic::operator=(other);
00039 return *this;
00040 }
00041
00042 class MACAddressDescriptor : public cStructDescriptor
00043 {
00044 public:
00045 MACAddressDescriptor(void *p=NULL);
00046 virtual ~MACAddressDescriptor();
00047 MACAddressDescriptor& operator=(const MACAddressDescriptor& other);
00048 virtual cObject *dup() const {return new MACAddressDescriptor(*this);}
00049
00050 virtual int getFieldCount();
00051 virtual const char *getFieldName(int field);
00052 virtual int getFieldType(int field);
00053 virtual const char *getFieldTypeString(int field);
00054 virtual const char *getFieldEnumName(int field);
00055 virtual int getArraySize(int field);
00056
00057 virtual bool getFieldAsString(int field, int i, char *resultbuf, int bufsize);
00058 virtual bool setFieldAsString(int field, int i, const char *value);
00059
00060 virtual const char *getFieldStructName(int field);
00061 virtual void *getFieldStructPointer(int field, int i);
00062 virtual sFieldWrapper *getFieldWrapper(int field, int i);
00063 };
00064
00065 Register_Class(MACAddressDescriptor);
00066
00067 MACAddressDescriptor::MACAddressDescriptor(void *p) : cStructDescriptor(p)
00068 {
00069 }
00070
00071 MACAddressDescriptor::~MACAddressDescriptor()
00072 {
00073 }
00074
00075 int MACAddressDescriptor::getFieldCount()
00076 {
00077 return 1;
00078 }
00079
00080 int MACAddressDescriptor::getFieldType(int field)
00081 {
00082 switch (field) {
00083 case 0: return FT_BASIC_ARRAY;
00084 default: return FT_INVALID;
00085 }
00086 }
00087
00088 const char *MACAddressDescriptor::getFieldName(int field)
00089 {
00090 switch (field) {
00091 case 0: return "address";
00092 default: return NULL;
00093 }
00094 }
00095
00096 const char *MACAddressDescriptor::getFieldTypeString(int field)
00097 {
00098 switch (field) {
00099 case 0: return "unsigned char";
00100 default: return NULL;
00101 }
00102 }
00103
00104 const char *MACAddressDescriptor::getFieldEnumName(int field)
00105 {
00106 switch (field) {
00107 default: return NULL;
00108 }
00109 }
00110
00111 int MACAddressDescriptor::getArraySize(int field)
00112 {
00113 MACAddress_Base *pp = (MACAddress_Base *)p;
00114 switch (field) {
00115 case 0: return 6;
00116 default: return 0;
00117 }
00118 }
00119
00120 bool MACAddressDescriptor::getFieldAsString(int field, int i, char *resultbuf, int bufsize)
00121 {
00122 MACAddress_Base *pp = (MACAddress_Base *)p;
00123 switch (field) {
00124 case 0: long2string(pp->getAddress(i),resultbuf,bufsize); return true;
00125 default: return false;
00126 }
00127 }
00128
00129 bool MACAddressDescriptor::setFieldAsString(int field, int i, const char *value)
00130 {
00131 MACAddress_Base *pp = (MACAddress_Base *)p;
00132 switch (field) {
00133 case 0: pp->setAddress(i,string2long(value)); return true;
00134 default: return false;
00135 }
00136 }
00137
00138 const char *MACAddressDescriptor::getFieldStructName(int field)
00139 {
00140 switch (field) {
00141 default: return NULL;
00142 }
00143 }
00144
00145 void *MACAddressDescriptor::getFieldStructPointer(int field, int i)
00146 {
00147 MACAddress_Base *pp = (MACAddress_Base *)p;
00148 switch (field) {
00149 default: return NULL;
00150 }
00151 }
00152
00153 sFieldWrapper *MACAddressDescriptor::getFieldWrapper(int field, int i)
00154 {
00155 return NULL;
00156 }
00157