DomainPlug-insDocumentation
SerializerDPT.h
Go to the documentation of this file.
00001 #ifndef SERIALIZERDPT_H_
00002 #define SERIALIZERDPT_H_
00003 
00004 #include "DomainPluginTypes.h"
00005 #include "Serializer.h"
00006 
00007 #define BOOL_TO_INT(x) ( true == x ) ? 1 : 0
00008 #define INT_TO_BOOL(x) ( 1 == x ) ? true : false
00009 
00010 
00011 //SN - Serialized Name
00012 #define SN_NS_HOSTNAME "hostName"
00013 #define SN_NS_IPADDR "ipAddr"
00014 #define SN_NS "NS"
00015 #define SN_PHONE_CC "cc"
00016 #define SN_PHONE_AREA "area"
00017 #define SN_PHONE_NUMBER "number"
00018 #define SN_PHONE_EXT "ext"
00019 #define SN_CONTACT_CID "cID"
00020 #define SN_CONTACT_FNAME "fName"
00021 #define SN_CONTACT_MNAME "mName"
00022 #define SN_CONTACT_LNAME "lName"
00023 #define SN_CONTACT_ORG "org"
00024 #define SN_CONTACT_EMAIL "eMail"
00025 #define SN_CONTACT_ADDR1 "address1"
00026 #define SN_CONTACT_ADDR2 "address2"
00027 #define SN_CONTACT_CITY "city"
00028 #define SN_CONTACT_STATE "state"
00029 #define SN_CONTACT_STATE_NAME "stateName"
00030 #define SN_CONTACT_ZIP "zip"
00031 #define SN_CONTACT_COUNTRY "country"
00032 #define SN_CONTACT_PHONE "phone"
00033 #define SN_CONTACT_FAX "fax"
00034 #define SN_CONTACT_EXT "ext"
00035 #define SN_CONTACT_HANDLE "handle"
00036 #define SN_CONTACT_BIRTHDAY "birthday"
00037 #define SN_DOMAIN "domain"
00038 #define SN_DOMAIN_TLD "tld"
00039 #define SN_DOMAIN_SLD "sld"
00040 #define SN_DOMAIN_EXT "ext"
00041 #define SN_DOMAIN_PERIOD "period"
00042 #define SN_DOMAIN_NSES "nses"
00043 #define SN_DOMAIN_CONTACTS "contacts"
00044 #define SN_DOMAIN_CONTACT_OWNER "owner"
00045 #define SN_DOMAIN_CONTACT_ADMIN "admin"
00046 #define SN_DOMAIN_CONTACT_BILL "bill"
00047 #define SN_DOMAIN_CONTACT_TECH "tech"
00048 #define SN_DOMAIN_EXP_DATE "expdate"
00049 #define SN_DOMAIN_REG_DATE "regdate"
00050 #define SN_DOMAIN_STATUS "status" //actually is OpStatus, lets rename it
00051 #define SN_RENEW_REQUIRED "renewRequired"
00052 #define SN_DOMAIN_OPERATION_TYPE "typeoper"
00053 #define SN_DOMAIN_LOCK_VALUE "value"
00054 #define SN_DOMAIN_WHOIS_PRIVACY_VALUE "value"
00055 #define SN_MSG "msg"
00056 #define SN_LOG "log"
00057 #define SN_DOMAIN_TRANSFERKEY "transferkey"
00058 #define SN_EXT "ext" //used in validateExtData
00059 #define SN_EXT_KEY "paramID"
00060 #define SN_EXT_TYPE "type"
00061 #define SN_EXT_TITLE "title"
00062 #define SN_EXT_DESCR "descr"
00063 #define SN_EXT_DEFVALUE "defval"
00064 #define SN_EXT_REQUIRED "req"
00065 #define SN_EXT_STATUS "status"
00066 #define SN_DATA "data"
00067 #define SN_CB_STATUS "status"
00068 #define SN_CB_TYPE "type"
00069 #define SN_CB_RESULT "result"
00070 
00071 
00072 #include <pluginconfig.h>
00073 
00074 template<class PLUGINTOOLKIT_DECL T> class PLUGINTOOLKIT_DECL AbstractSerializer {
00075   public:
00076     virtual T unserialize(Str &input) {PluginDataType in = Serializer::unserialize(input); return fromDataType(in);};
00077     virtual Str serialize(T &input) {PluginDataType in = toDataType(input); return Serializer::serialize(in);};
00078     //pure virtual functions to be explicitely defined in each serialization, compilation denied WO definition
00079     //virtual is OBLIGATORY!
00080     virtual T fromDataType(PluginDataType&) = 0;
00081     virtual PluginDataType toDataType(T&) = 0;
00082 };
00083 
00084 class PLUGINTOOLKIT_DECL DTNameServerSerializer : public AbstractSerializer<DTNameServer> {
00085   public:
00086     DTNameServer fromDataType(PluginDataType&);
00087     PluginDataType toDataType(DTNameServer&);
00088 };
00089 
00090 class PLUGINTOOLKIT_DECL DTNameServersSerializer : public AbstractSerializer<DTNameServers> {
00091   public:
00092     DTNameServers fromDataType(PluginDataType&);
00093     PluginDataType toDataType(DTNameServers&);
00094 };
00095 
00096 class PLUGINTOOLKIT_DECL DTDomainChkSerializer : public AbstractSerializer<DTDomainChk> {
00097   public:
00098     DTDomainChk fromDataType(PluginDataType&);
00099     PluginDataType toDataType(DTDomainChk&);
00100 };
00101 
00102 class PLUGINTOOLKIT_DECL DTDomainTransferChkSerializer : public AbstractSerializer<DTDomainTransferChk> {
00103   public:
00104     DTDomainTransferChk fromDataType(PluginDataType&);
00105     PluginDataType toDataType(DTDomainTransferChk&);
00106 };
00107 
00108 class PLUGINTOOLKIT_DECL DTPhoneSerializer : public AbstractSerializer<DTPhone> {
00109   public:
00110     DTPhone fromDataType(PluginDataType&);
00111     PluginDataType toDataType(DTPhone&);
00112 };
00113 
00114 class PLUGINTOOLKIT_DECL DTExtDataSerializer : public AbstractSerializer<DTExtData> {
00115   public:
00116     DTExtData fromDataType(PluginDataType&);
00117     PluginDataType toDataType(DTExtData&);
00118 };
00119 
00120 class PLUGINTOOLKIT_DECL DTContactSerializer : public AbstractSerializer<DTContact> {
00121   public:
00122     DTContact fromDataType(PluginDataType&);
00123     PluginDataType toDataType(DTContact&);
00124 };
00125 
00126 class PLUGINTOOLKIT_DECL DTContactsSerializer : public AbstractSerializer<DTContacts> {
00127   public:
00128     DTContacts fromDataType(PluginDataType&);
00129     PluginDataType toDataType(DTContacts&);
00130 };
00131 
00132 class PLUGINTOOLKIT_DECL DTInCheckAvailabilitySerializer : public AbstractSerializer<DTInCheckAvailability> {
00133   public:
00134     DTInCheckAvailability fromDataType(PluginDataType&);
00135     PluginDataType toDataType(DTInCheckAvailability&);
00136 };
00137 
00138 class PLUGINTOOLKIT_DECL DTOutCheckAvailabilitySerializer : public AbstractSerializer<DTOutCheckAvailability> {
00139   public:
00140     DTOutCheckAvailability fromDataType(PluginDataType&);
00141     PluginDataType toDataType(DTOutCheckAvailability&);
00142 };
00143 
00144 class PLUGINTOOLKIT_DECL DTInCheckTransferSerializer : public AbstractSerializer<DTInCheckTransfer> {
00145   public:
00146     DTInCheckTransfer fromDataType(PluginDataType&);
00147     PluginDataType toDataType(DTInCheckTransfer&);
00148 };
00149 
00150 class PLUGINTOOLKIT_DECL DTOutCheckTransferSerializer : public AbstractSerializer<DTOutCheckTransfer> {
00151   public:
00152     DTOutCheckTransfer fromDataType(PluginDataType&);
00153     PluginDataType toDataType(DTOutCheckTransfer&);
00154 };
00155 
00156 class PLUGINTOOLKIT_DECL DTInRegisterDomainSerializer : public AbstractSerializer<DTInRegisterDomain> {
00157   public:
00158     DTInRegisterDomain fromDataType(PluginDataType&);
00159     PluginDataType toDataType(DTInRegisterDomain&);
00160 };
00161 
00162 class PLUGINTOOLKIT_DECL DTInTransferDomainSerializer : public AbstractSerializer<DTInTransferDomain> {
00163   public:
00164     DTInTransferDomain fromDataType(PluginDataType&);
00165     PluginDataType toDataType(DTInTransferDomain&);
00166 };
00167 
00168 class PLUGINTOOLKIT_DECL DTInRenewDomainSerializer : public AbstractSerializer<DTInRenewDomain> {
00169   public:
00170     DTInRenewDomain fromDataType(PluginDataType&);
00171     PluginDataType toDataType(DTInRenewDomain&);
00172 };
00173 
00174 class PLUGINTOOLKIT_DECL DTInSetLockSerializer : public AbstractSerializer<DTInSetLock> {
00175   public:
00176     DTInSetLock fromDataType(PluginDataType&);
00177     PluginDataType toDataType(DTInSetLock&);
00178 };
00179 
00180 class PLUGINTOOLKIT_DECL DTInSetWhoisPrivacySerializer : public AbstractSerializer<DTInSetWhoisPrivacy> {
00181   public:
00182     DTInSetWhoisPrivacy fromDataType(PluginDataType&);
00183     PluginDataType toDataType(DTInSetWhoisPrivacy&);
00184 };
00185 
00186 class PLUGINTOOLKIT_DECL DTInTerminateDomainSerializer : public AbstractSerializer<DTInTerminateDomain> {
00187   public:
00188     DTInTerminateDomain fromDataType(PluginDataType&);
00189     PluginDataType toDataType(DTInTerminateDomain&);
00190 };
00191 
00192 class PLUGINTOOLKIT_DECL DTOutTerminateDomainSerializer : public AbstractSerializer<DTOutTerminateDomain> {
00193   public:
00194     DTOutTerminateDomain fromDataType(PluginDataType&);
00195     PluginDataType toDataType(DTOutTerminateDomain&);
00196 };
00197 
00198 class PLUGINTOOLKIT_DECL DTRegisteredDomainInfoSerializer : public AbstractSerializer<DTRegisteredDomainInfo> {
00199   public:
00200         DTRegisteredDomainInfo fromDataType(PluginDataType&);
00201     PluginDataType toDataType(DTRegisteredDomainInfo&);
00202 };
00203 
00204 //Register, Renew and Transfer has the same output class PLUGINTOOLKIT_DECL definition
00205 // Register, Renew and Transfer == RRT
00206 template<class PLUGINTOOLKIT_DECL T> class PLUGINTOOLKIT_DECL AbstractDTOutOperationDomainRRTSerializer : public AbstractSerializer<T> {
00207   public:
00208     PluginDataType toDataType(T &input) {
00209       PluginDataType in;
00210       //data from basetype DTOutGeneral:
00211       in.setStr(SN_MSG, input.msg);
00212       in.setStr(SN_LOG, input.log);
00213 
00214       //data from basetype DTOutOperationDomain:
00215       DTExtDataSerializer extSerializer;
00216       PluginDataType ext = extSerializer.toDataType(input.extData);
00217       in.setInt(SN_DOMAIN_STATUS, input.opStatus);
00218       in.set(SN_DOMAIN_EXT, ext);
00219 
00220       //data form derived type TOutRegisterDomain:
00221       in.setStr(SN_DOMAIN_EXP_DATE, input.expDate);
00222 
00223       return in;
00224     }
00225 
00226     T fromDataType(PluginDataType &input) {
00227       T in;
00228 
00229       //data from basetype DTOutGeneral:
00230       in.msg = input.getStr(SN_MSG);
00231       in.log = input.getStr(SN_LOG);
00232 
00233       //data from basetype DTOutOperationDomain:
00234       Int opStatus = input.getInt(SN_DOMAIN_STATUS);
00235       in.opStatus = DTDomainOpStatus(opStatus.c_type());
00236       DTExtDataSerializer extSerializer;
00237       PluginDataType ext = input.get(SN_DOMAIN_EXT);
00238       in.extData = extSerializer.fromDataType(ext);
00239 
00240       //data form derived type TOutRegisterDomain:
00241       in.expDate = input.getStr(SN_DOMAIN_EXP_DATE);
00242 
00243       return in;
00244     }
00245 };
00246 
00247 class PLUGINTOOLKIT_DECL DTOutRegisterDomainSerializer : public AbstractDTOutOperationDomainRRTSerializer<DTOutRegisterDomain> {};
00248 class PLUGINTOOLKIT_DECL DTOutRenewDomainSerializer : public AbstractDTOutOperationDomainRRTSerializer<DTOutRenewDomain> {};
00249 class PLUGINTOOLKIT_DECL DTOutTransferDomainSerializer : public AbstractDTOutOperationDomainRRTSerializer<DTOutTransferDomain> {};
00250 
00251 //statuses has the same interface, generally
00252 template<class PLUGINTOOLKIT_DECL T> class PLUGINTOOLKIT_DECL AbstractDTInOperationDomainStatusSerializer : public AbstractSerializer<T> {
00253   public:
00254     PluginDataType toDataType(T &input) {
00255       PluginDataType in;
00256       //data from basetype DTInDomainData:
00257       in.setStr(SN_DOMAIN_SLD, input.sld);
00258       in.setStr(SN_DOMAIN_TLD, input.tld);
00259       DTExtDataSerializer extSerializer;
00260       PluginDataType ext = extSerializer.toDataType(input.extData);
00261       in.set(SN_DOMAIN_EXT, ext);
00262 
00263       return in;
00264     }
00265 
00266     T fromDataType(PluginDataType &input) {
00267       T in;
00268       //data from basetype DTInDomainData:
00269       in.sld = input.getStr(SN_DOMAIN_SLD);
00270       in.tld = input.getStr(SN_DOMAIN_TLD);
00271       Int opType = input.getInt(SN_DOMAIN_OPERATION_TYPE);
00272       DTExtDataSerializer extSerializer;
00273       PluginDataType ext = input.get(SN_DOMAIN_EXT);
00274       in.extData = extSerializer.fromDataType(ext);
00275 
00276       return in;
00277     }
00278 };
00279 
00280 class PLUGINTOOLKIT_DECL DTInGetDomainStatusSerializer : public AbstractDTInOperationDomainStatusSerializer<DTInGetDomainStatus> {
00281   public:
00282     PluginDataType toDataType(DTInGetDomainStatus&);
00283     DTInGetDomainStatus fromDataType(PluginDataType&);
00284 };
00285 
00286 class PLUGINTOOLKIT_DECL DTInGetDomainDetailsSerializer : public AbstractDTInOperationDomainStatusSerializer<DTInGetDomainDetails> {};
00287 
00288 
00289 
00290 template<class PLUGINTOOLKIT_DECL T> class PLUGINTOOLKIT_DECL AbstractDTOutOperationDomainStatusSerializer : public AbstractSerializer<T> {
00291   public:
00292     PluginDataType toDataType(T &input) {
00293       PluginDataType in;
00294       //data from basetype DTOutGeneral
00295       in.setStr(SN_MSG, input.msg);
00296       in.setStr(SN_LOG, input.log);
00297 
00298       //data from basetype DTOutOperationDomain:
00299       in.setInt(SN_DOMAIN_STATUS, input.opStatus);
00300       DTExtDataSerializer extSerializer;
00301       PluginDataType ext = extSerializer.toDataType(input.extData);
00302       in.set(SN_DOMAIN_EXT, ext);
00303 
00304       return in;
00305     }
00306 
00307     T fromDataType(PluginDataType &input) {
00308       T in;
00309       //data from basetype DTOutGeneral
00310       in.msg = input.getStr(SN_MSG);
00311       in.log = input.getStr(SN_LOG);
00312 
00313       //data from basetype DTOutOperationDomain:
00314       in.opStatus = DTDomainOpStatus(input.getInt(SN_DOMAIN_STATUS).c_type());
00315       DTExtDataSerializer extSerializer;
00316       PluginDataType ext = input.get(SN_DOMAIN_EXT);
00317       in.extData = extSerializer.fromDataType(ext);
00318 
00319       return in;
00320     }
00321 };
00322 
00323 //Implements:
00324 // DTInUpdateDomainContactsSerializer, DTInRegisterContactsSerializer
00325 // DTInGetContactsStatusSerializer, DTInGetDomainContactsStatus
00326 template<class PLUGINTOOLKIT_DECL T> class PLUGINTOOLKIT_DECL AbstractDTInOperationContactsSerializer : public AbstractSerializer<T> {
00327   public:
00328   PluginDataType toDataType ( T &input) {
00329     PluginDataType in;
00330     //data from basetype DTInDomainData:
00331     in.setStr(SN_DOMAIN_SLD, input.sld);
00332     in.setStr(SN_DOMAIN_TLD, input.tld);
00333 
00334     DTExtDataSerializer extSerializer;
00335     PluginDataType ext = extSerializer.toDataType(input.extData);
00336     in.set(SN_DOMAIN_EXT, ext);
00337 
00338     //data from DTInGetContactsStatus
00339     DTContactsSerializer contactsSerializer;
00340     PluginDataType contacts = contactsSerializer.toDataType(input.contacts);
00341 
00342     in.set(SN_DOMAIN_CONTACTS, contacts);
00343 
00344     return in;
00345   }
00346 
00347   T fromDataType (PluginDataType &input) {
00348     T in;
00349     //data from basetype DTInDomainData:
00350     in.sld = input.getStr(SN_DOMAIN_SLD);
00351     in.tld = input.getStr(SN_DOMAIN_TLD);
00352 
00353     DTExtDataSerializer extSerializer;
00354     PluginDataType ext = input.get(SN_DOMAIN_EXT);
00355     in.extData = extSerializer.fromDataType(ext);
00356 
00357     //data from DTInGetContactsStatus
00358     DTContactsSerializer contactsSerializer;
00359     PluginDataType contacts = input.get(SN_DOMAIN_CONTACTS);
00360     in.contacts = contactsSerializer.fromDataType(contacts);
00361 
00362     return in;
00363   }
00364 };
00365 
00366 //Contacts operation statuses
00367 //IN:
00368 class PLUGINTOOLKIT_DECL DTInRegisterContactsSerializer : public AbstractDTInOperationContactsSerializer<DTInRegisterContacts> {};
00369 class PLUGINTOOLKIT_DECL DTInGetContactsStatusSerializer : public AbstractDTInOperationContactsSerializer<DTInGetContactsStatus> {};
00370 class PLUGINTOOLKIT_DECL DTInUpdateDomainContactsSerializer : public AbstractDTInOperationContactsSerializer<DTInUpdateDomainContacts> {};
00371 class PLUGINTOOLKIT_DECL DTInGetDomainContactsStatusSerializer : public AbstractDTInOperationContactsSerializer<DTInGetDomainContactsStatus> {};
00372 //OUT:
00373 class PLUGINTOOLKIT_DECL DTOutRegisterContactsSerializer : public AbstractDTOutOperationDomainStatusSerializer<DTOutRegisterContacts> {};
00374 class PLUGINTOOLKIT_DECL DTOutGetContactsStatusSerializer : public AbstractDTOutOperationDomainStatusSerializer<DTOutGetContactsStatus> {};
00375 class PLUGINTOOLKIT_DECL DTOutUpdateDomainContactsSerializer : public AbstractDTOutOperationDomainStatusSerializer<DTOutUpdateDomainContacts> {};
00376 class PLUGINTOOLKIT_DECL DTOutGetDomainContactsStatusSerializer : public AbstractDTOutOperationDomainStatusSerializer<DTOutGetDomainContactsStatus> {};
00377 
00378 class PLUGINTOOLKIT_DECL DTOutSetLockSerializer : public AbstractDTOutOperationDomainStatusSerializer<DTOutSetLock> {};
00379 class PLUGINTOOLKIT_DECL DTOutSetWhoisPrivacySerializer : public AbstractDTOutOperationDomainStatusSerializer<DTOutSetWhoisPrivacy> {};
00380 
00381 //Implements:
00382 // DTInUpdateDomainNameServersSerializer, DTInRegisterNameServersSerializer
00383 // DTInGetNameServersStatusSerializer, DTInGetDomainNameServersStatusSerializer
00384 template<class PLUGINTOOLKIT_DECL T> class PLUGINTOOLKIT_DECL AbstractDTInOperationNameServersSerializer : public AbstractSerializer<T> {
00385   PluginDataType toDataType ( T &input) {
00386     PluginDataType in;
00387     //data from basetype DTInDomainData:
00388     in.setStr(SN_DOMAIN_SLD, input.sld);
00389     in.setStr(SN_DOMAIN_TLD, input.tld);
00390 
00391     DTExtDataSerializer extSerializer;
00392     PluginDataType ext = extSerializer.toDataType(input.extData);
00393     in.set(SN_DOMAIN_EXT, ext);
00394 
00395     //data from DTInUpdateDomainNameServers
00396     DTNameServersSerializer nsesSerializer;
00397     PluginDataType nses = nsesSerializer.toDataType(input.nameServers);
00398     in.set(SN_DOMAIN_NSES, nses);
00399 
00400     return in;
00401   }
00402 
00403   T fromDataType (PluginDataType &input) {
00404     T in;
00405     //data from basetype DTInDomainData:
00406     in.sld = input.getStr(SN_DOMAIN_SLD);
00407     in.tld = input.getStr(SN_DOMAIN_TLD);
00408 
00409     DTExtDataSerializer extSerializer;
00410     PluginDataType ext = input.get(SN_DOMAIN_EXT);
00411     in.extData = extSerializer.fromDataType(ext);
00412 
00413     //data from DTInUpdateDomainNameServers
00414     DTNameServersSerializer nsesSerializer;
00415     PluginDataType nses = input.get(SN_DOMAIN_NSES);
00416     in.nameServers = nsesSerializer.fromDataType(nses);
00417 
00418     return in;
00419   }
00420 };
00421 
00422 
00423 //Domain operation statuses
00424 class PLUGINTOOLKIT_DECL DTOutGetDomainStatusSerializer : public AbstractDTOutOperationDomainStatusSerializer<DTOutGetDomainStatus> {
00425   public:
00426     DTOutGetDomainStatus fromDataType(PluginDataType&);
00427     PluginDataType toDataType(DTOutGetDomainStatus&);
00428 };
00429 
00430 //Name server operation statuses
00431 //IN:
00432 class PLUGINTOOLKIT_DECL DTInUpdateDomainNameServersSerializer : public AbstractDTInOperationNameServersSerializer<DTInUpdateDomainNameServers> {};
00433 class PLUGINTOOLKIT_DECL DTInRegisterNameServersSerializer : public AbstractDTInOperationNameServersSerializer<DTInRegisterNameServers> {};
00434 class PLUGINTOOLKIT_DECL DTInGetNameServersStatusSerializer : public AbstractDTInOperationNameServersSerializer<DTInGetNameServersStatus> {};
00435 class PLUGINTOOLKIT_DECL DTInGetDomainNameServersStatusSerializer : public AbstractDTInOperationNameServersSerializer<DTInGetDomainNameServersStatus> {};
00436 //OUT:
00437 class PLUGINTOOLKIT_DECL DTOutRegisterNameServersSerializer : public AbstractDTOutOperationDomainStatusSerializer<DTOutRegisterNameServers> {};
00438 class PLUGINTOOLKIT_DECL DTOutGetNameServersStatusSerializer : public AbstractDTOutOperationDomainStatusSerializer<DTOutGetNameServersStatus> {};
00439 class PLUGINTOOLKIT_DECL DTOutUpdateDomainNameServersSerializer : public AbstractDTOutOperationDomainStatusSerializer<DTOutUpdateDomainNameServers> {};
00440 class PLUGINTOOLKIT_DECL DTOutGetDomainNameServersStatusSerializer : public AbstractDTOutOperationDomainStatusSerializer<DTOutGetDomainNameServersStatus> {};
00441 
00442 
00443 class PLUGINTOOLKIT_DECL DTOutGetDomainDetailsSerializer : public AbstractSerializer<DTOutGetDomainDetails> {
00444   public:
00445     DTOutGetDomainDetails fromDataType(PluginDataType&);
00446     PluginDataType toDataType(DTOutGetDomainDetails&);
00447 };
00448 
00449 class PLUGINTOOLKIT_DECL DTInValidateExtDataSerializer : public AbstractSerializer<DTInValidateExtData> {
00450   public:
00451     DTInValidateExtData fromDataType(PluginDataType&);
00452     PluginDataType toDataType(DTInValidateExtData&);
00453 };
00454 
00455 class PLUGINTOOLKIT_DECL DTOutValidateExtDataSerializer : public AbstractSerializer<DTOutValidateExtData> {
00456   public:
00457     DTOutValidateExtData fromDataType(PluginDataType&);
00458     PluginDataType toDataType(DTOutValidateExtData&);
00459 };
00460 
00461 class PLUGINTOOLKIT_DECL DTTypedExtDataItemSerializer : public AbstractSerializer<DTTypedExtDataItem> {
00462   public:
00463     DTTypedExtDataItem fromDataType(PluginDataType&);
00464     PluginDataType toDataType(DTTypedExtDataItem&);
00465 };
00466 
00467 class PLUGINTOOLKIT_DECL DTInCallbackSerializer : public AbstractSerializer<DTInCallback> {
00468   public:
00469     DTInCallback fromDataType(PluginDataType&);
00470     PluginDataType toDataType(DTInCallback&);
00471 };
00472 
00473 class PLUGINTOOLKIT_DECL DTCallbackResultSerializer : public AbstractSerializer<DTCallbackResult> {
00474   public:
00475     DTCallbackResult fromDataType(PluginDataType&);
00476     PluginDataType toDataType(DTCallbackResult&);
00477 };
00478 
00479 class PLUGINTOOLKIT_DECL DTOutCallbackSerializer : public AbstractSerializer<DTOutCallback> {
00480   public:
00481     DTOutCallback fromDataType(PluginDataType&);
00482     PluginDataType toDataType(DTOutCallback&);
00483 };
00484 
00485 class PLUGINTOOLKIT_DECL DTInGetDomainNameServersSerializer : public AbstractSerializer<DTInGetDomainNameServers> {
00486   public:
00487   DTInGetDomainNameServers fromDataType(PluginDataType&);
00488   PluginDataType toDataType(DTInGetDomainNameServers&);
00489 };
00490 
00491 class PLUGINTOOLKIT_DECL DTOutGetDomainNameServersSerializer : public AbstractSerializer<DTOutGetDomainNameServers> {
00492   public:
00493   DTOutGetDomainNameServers fromDataType(PluginDataType&);
00494   PluginDataType toDataType(DTOutGetDomainNameServers&);
00495 };
00496 
00497 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines