DomainPlug-insDocumentation
|
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