soapcwmpService.cpp 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939
  1. /* soapcwmpService.cpp
  2. Generated by gSOAP 2.8.83 for trapi.h
  3. gSOAP XML Web services tools
  4. Copyright (C) 2000-2018, Robert van Engelen, Genivia Inc. All Rights Reserved.
  5. The soapcpp2 tool and its generated software are released under the GPL.
  6. This program is released under the GPL with the additional exemption that
  7. compiling, linking, and/or using OpenSSL is allowed.
  8. --------------------------------------------------------------------------------
  9. A commercial use license is available from Genivia Inc., contact@genivia.com
  10. --------------------------------------------------------------------------------
  11. */
  12. #include "soapcwmpService.h"
  13. cwmpService::cwmpService()
  14. { this->soap = soap_new();
  15. this->soap_own = true;
  16. cwmpService_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);
  17. }
  18. cwmpService::cwmpService(const cwmpService& rhs)
  19. { this->soap = rhs.soap;
  20. this->soap_own = false;
  21. }
  22. cwmpService::cwmpService(struct soap *_soap)
  23. { this->soap = _soap;
  24. this->soap_own = false;
  25. cwmpService_init(_soap->imode, _soap->omode);
  26. }
  27. cwmpService::cwmpService(soap_mode iomode)
  28. { this->soap = soap_new();
  29. this->soap_own = true;
  30. cwmpService_init(iomode, iomode);
  31. }
  32. cwmpService::cwmpService(soap_mode imode, soap_mode omode)
  33. { this->soap = soap_new();
  34. this->soap_own = true;
  35. cwmpService_init(imode, omode);
  36. }
  37. cwmpService::~cwmpService()
  38. { if (this->soap_own)
  39. { this->destroy();
  40. soap_free(this->soap);
  41. }
  42. }
  43. void cwmpService::cwmpService_init(soap_mode imode, soap_mode omode)
  44. { soap_imode(this->soap, imode);
  45. soap_omode(this->soap, omode);
  46. static const struct Namespace namespaces[] = {
  47. { "SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/", "http://www.w3.org/*/soap-envelope", NULL },
  48. { "SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/", "http://www.w3.org/*/soap-encoding", NULL },
  49. { "xsi", "http://www.w3.org/2001/XMLSchema-instance", "http://www.w3.org/*/XMLSchema-instance", NULL },
  50. { "xsd", "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/*/XMLSchema", NULL },
  51. { "cwmp", "urn:dslforum-org:cwmp-1-2", NULL, NULL },
  52. { NULL, NULL, NULL, NULL}
  53. };
  54. soap_set_namespaces(this->soap, namespaces);
  55. }
  56. void cwmpService::destroy()
  57. { soap_destroy(this->soap);
  58. soap_end(this->soap);
  59. }
  60. void cwmpService::reset()
  61. { this->destroy();
  62. soap_done(this->soap);
  63. soap_initialize(this->soap);
  64. cwmpService_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);
  65. }
  66. #ifndef WITH_PURE_VIRTUAL
  67. cwmpService *cwmpService::copy()
  68. { cwmpService *dup = SOAP_NEW_UNMANAGED(cwmpService);
  69. if (dup)
  70. { soap_done(dup->soap);
  71. soap_copy_context(dup->soap, this->soap);
  72. }
  73. return dup;
  74. }
  75. #endif
  76. cwmpService& cwmpService::operator=(const cwmpService& rhs)
  77. { if (this->soap != rhs.soap)
  78. { if (this->soap_own)
  79. soap_free(this->soap);
  80. this->soap = rhs.soap;
  81. this->soap_own = false;
  82. }
  83. return *this;
  84. }
  85. int cwmpService::soap_close_socket()
  86. { return soap_closesock(this->soap);
  87. }
  88. int cwmpService::soap_force_close_socket()
  89. { return soap_force_closesock(this->soap);
  90. }
  91. int cwmpService::soap_senderfault(const char *string, const char *detailXML)
  92. { return ::soap_sender_fault(this->soap, string, detailXML);
  93. }
  94. int cwmpService::soap_senderfault(const char *subcodeQName, const char *string, const char *detailXML)
  95. { return ::soap_sender_fault_subcode(this->soap, subcodeQName, string, detailXML);
  96. }
  97. int cwmpService::soap_receiverfault(const char *string, const char *detailXML)
  98. { return ::soap_receiver_fault(this->soap, string, detailXML);
  99. }
  100. int cwmpService::soap_receiverfault(const char *subcodeQName, const char *string, const char *detailXML)
  101. { return ::soap_receiver_fault_subcode(this->soap, subcodeQName, string, detailXML);
  102. }
  103. void cwmpService::soap_print_fault(FILE *fd)
  104. { ::soap_print_fault(this->soap, fd);
  105. }
  106. #ifndef WITH_LEAN
  107. #ifndef WITH_COMPAT
  108. void cwmpService::soap_stream_fault(std::ostream& os)
  109. { ::soap_stream_fault(this->soap, os);
  110. }
  111. #endif
  112. char *cwmpService::soap_sprint_fault(char *buf, size_t len)
  113. { return ::soap_sprint_fault(this->soap, buf, len);
  114. }
  115. #endif
  116. void cwmpService::soap_noheader()
  117. { this->soap->header = NULL;
  118. }
  119. void cwmpService::soap_header(struct _cwmp__SupportedCWMPVersions *cwmp__SupportedCWMPVersions, struct _cwmp__UseCWMPVersion *cwmp__UseCWMPVersion, struct _cwmp__SessionTimeout *cwmp__SessionTimeout, struct _cwmp__ID *cwmp__ID, struct _cwmp__HoldRequests *cwmp__HoldRequests)
  120. {
  121. ::soap_header(this->soap);
  122. this->soap->header->cwmp__SupportedCWMPVersions = cwmp__SupportedCWMPVersions;
  123. this->soap->header->cwmp__UseCWMPVersion = cwmp__UseCWMPVersion;
  124. this->soap->header->cwmp__SessionTimeout = cwmp__SessionTimeout;
  125. this->soap->header->cwmp__ID = cwmp__ID;
  126. this->soap->header->cwmp__HoldRequests = cwmp__HoldRequests;
  127. }
  128. ::SOAP_ENV__Header *cwmpService::soap_header()
  129. { return this->soap->header;
  130. }
  131. #ifndef WITH_NOIO
  132. int cwmpService::run(int port, int backlog)
  133. { if (!soap_valid_socket(this->soap->master) && !soap_valid_socket(this->bind(NULL, port, backlog)))
  134. return this->soap->error;
  135. for (;;)
  136. { if (!soap_valid_socket(this->accept()))
  137. { if (this->soap->errnum == 0) // timeout?
  138. this->soap->error = SOAP_OK;
  139. break;
  140. }
  141. if (this->serve())
  142. break;
  143. this->destroy();
  144. }
  145. return this->soap->error;
  146. }
  147. #if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
  148. int cwmpService::ssl_run(int port, int backlog)
  149. { if (!soap_valid_socket(this->soap->master) && !soap_valid_socket(this->bind(NULL, port, backlog)))
  150. return this->soap->error;
  151. for (;;)
  152. { if (!soap_valid_socket(this->accept()))
  153. { if (this->soap->errnum == 0) // timeout?
  154. this->soap->error = SOAP_OK;
  155. break;
  156. }
  157. if (this->ssl_accept() || this->serve())
  158. break;
  159. this->destroy();
  160. }
  161. return this->soap->error;
  162. }
  163. #endif
  164. SOAP_SOCKET cwmpService::bind(const char *host, int port, int backlog)
  165. { return soap_bind(this->soap, host, port, backlog);
  166. }
  167. SOAP_SOCKET cwmpService::accept()
  168. { return soap_accept(this->soap);
  169. }
  170. #if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
  171. int cwmpService::ssl_accept()
  172. { return soap_ssl_accept(this->soap);
  173. }
  174. #endif
  175. #endif
  176. int cwmpService::serve()
  177. {
  178. #ifndef WITH_FASTCGI
  179. this->soap->keep_alive = this->soap->max_keep_alive + 1;
  180. #endif
  181. do
  182. {
  183. #ifndef WITH_FASTCGI
  184. if (this->soap->keep_alive > 0 && this->soap->max_keep_alive > 0)
  185. this->soap->keep_alive--;
  186. #endif
  187. auto result1=soap_begin_serve(this->soap);
  188. if (result1!=0 && result1 !=20400 )
  189. { if (this->soap->error >= SOAP_STOP)
  190. continue;
  191. return this->soap->error;
  192. }
  193. if ((dispatch() || (this->soap->fserveloop && this->soap->fserveloop(this->soap))) && this->soap->error && this->soap->error < SOAP_STOP)
  194. {
  195. #ifdef WITH_FASTCGI
  196. soap_send_fault(this->soap);
  197. #else
  198. return soap_send_fault(this->soap);
  199. #endif
  200. }
  201. #ifdef WITH_FASTCGI
  202. soap_destroy(this->soap);
  203. soap_end(this->soap);
  204. } while (1);
  205. #else
  206. } while (this->soap->keep_alive);
  207. #endif
  208. return SOAP_OK;
  209. }
  210. static int serve___cwmp__GetParameterNames(struct soap*, cwmpService*);
  211. static int serve___cwmp__GetParameterValues(struct soap*, cwmpService*);
  212. static int serve___cwmp__GetParameterValuesResponse(struct soap*, cwmpService*);
  213. static int serve___cwmp__SetParameterValues(struct soap*, cwmpService*);
  214. static int serve___cwmp__GetParameterAttributes(struct soap*, cwmpService*);
  215. static int serve___cwmp__SetParameterAttributes(struct soap*, cwmpService*);
  216. static int serve___cwmp__Download(struct soap*, cwmpService*);
  217. static int serve___cwmp__Upload(struct soap*, cwmpService*);
  218. static int serve___cwmp__AddObject(struct soap*, cwmpService*);
  219. static int serve___cwmp__DeleteObject(struct soap*, cwmpService*);
  220. static int serve___cwmp__GetRPCMethods(struct soap*, cwmpService*);
  221. static int serve___cwmp__Inform(struct soap*, cwmpService*);
  222. static int serve___cwmp__Reboot(struct soap*, cwmpService*);
  223. static int serve___cwmp__FactoryReset(struct soap*, cwmpService*);
  224. int cwmpService::dispatch()
  225. { return dispatch(this->soap);
  226. }
  227. int cwmpService::dispatch(struct soap* soap)
  228. {
  229. cwmpService_init(soap->imode, soap->omode);
  230. if (soap->error==20400){
  231. ChechQueue(soap, this);
  232. }
  233. soap_peek_element(soap);
  234. if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterNames"))
  235. return serve___cwmp__GetParameterNames(soap, this);
  236. if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterValues"))
  237. return serve___cwmp__GetParameterValues(soap, this);
  238. if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterValuesResponse"))
  239. return serve___cwmp__GetParameterValuesResponse(soap, this);
  240. if (!soap_match_tag(soap, soap->tag, "cwmp:SetParameterValues"))
  241. return serve___cwmp__SetParameterValues(soap, this);
  242. if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterAttributes"))
  243. return serve___cwmp__GetParameterAttributes(soap, this);
  244. if (!soap_match_tag(soap, soap->tag, "cwmp:SetParameterAttributes"))
  245. return serve___cwmp__SetParameterAttributes(soap, this);
  246. if (!soap_match_tag(soap, soap->tag, "cwmp:Download"))
  247. return serve___cwmp__Download(soap, this);
  248. if (!soap_match_tag(soap, soap->tag, "cwmp:Upload"))
  249. return serve___cwmp__Upload(soap, this);
  250. if (!soap_match_tag(soap, soap->tag, "cwmp:AddObject"))
  251. return serve___cwmp__AddObject(soap, this);
  252. if (!soap_match_tag(soap, soap->tag, "cwmp:DeleteObject"))
  253. return serve___cwmp__DeleteObject(soap, this);
  254. if (!soap_match_tag(soap, soap->tag, "cwmp:GetRPCMethods"))
  255. return serve___cwmp__GetRPCMethods(soap, this);
  256. if (!soap_match_tag(soap, soap->tag, "cwmp:Inform"))
  257. return serve___cwmp__Inform(soap, this);
  258. if (!soap_match_tag(soap, soap->tag, "cwmp:RebootResponse"))
  259. return CustomeRebootResonse(soap, this);
  260. if (!soap_match_tag(soap, soap->tag, "cwmp:Reboot"))
  261. return serve___cwmp__Reboot(soap, this);
  262. if (!soap_match_tag(soap, soap->tag, "cwmp:FactoryReset"))
  263. return serve___cwmp__FactoryReset(soap, this);
  264. return soap->error = SOAP_NO_METHOD;
  265. }
  266. static int serve___cwmp__GetParameterNames(struct soap *soap, cwmpService *service)
  267. { struct __cwmp__GetParameterNames soap_tmp___cwmp__GetParameterNames;
  268. struct _cwmp__GetParameterNamesResponse cwmp__GetParameterNamesResponse;
  269. soap_default__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse);
  270. soap_default___cwmp__GetParameterNames(soap, &soap_tmp___cwmp__GetParameterNames);
  271. if (!soap_get___cwmp__GetParameterNames(soap, &soap_tmp___cwmp__GetParameterNames, "-cwmp:GetParameterNames", NULL))
  272. return soap->error;
  273. if (soap_body_end_in(soap)
  274. || soap_envelope_end_in(soap)
  275. || soap_end_recv(soap))
  276. return soap->error;
  277. soap->error = service->GetParameterNames(soap_tmp___cwmp__GetParameterNames.cwmp__GetParameterNames, &cwmp__GetParameterNamesResponse);
  278. if (soap->error)
  279. return soap->error;
  280. soap->encodingStyle = ""; /* use SOAP encoding style */
  281. soap_serializeheader(soap);
  282. soap_serialize__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse);
  283. if (soap_begin_count(soap))
  284. return soap->error;
  285. if ((soap->mode & SOAP_IO_LENGTH))
  286. { if (soap_envelope_begin_out(soap)
  287. || soap_putheader(soap)
  288. || soap_body_begin_out(soap)
  289. || soap_put__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse, "cwmp:GetParameterNamesResponse", "")
  290. || soap_body_end_out(soap)
  291. || soap_envelope_end_out(soap))
  292. return soap->error;
  293. };
  294. if (soap_end_count(soap)
  295. || soap_response(soap, SOAP_OK)
  296. || soap_envelope_begin_out(soap)
  297. || soap_putheader(soap)
  298. || soap_body_begin_out(soap)
  299. || soap_put__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse, "cwmp:GetParameterNamesResponse", "")
  300. || soap_body_end_out(soap)
  301. || soap_envelope_end_out(soap)
  302. || soap_end_send(soap))
  303. return soap->error;
  304. return soap_closesock(soap);
  305. }
  306. static int serve___cwmp__GetParameterValues(struct soap *soap, cwmpService *service)
  307. { struct __cwmp__GetParameterValues soap_tmp___cwmp__GetParameterValues;
  308. struct _cwmp__GetParameterValuesResponse cwmp__GetParameterValuesResponse;
  309. soap_default__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse);
  310. soap_default___cwmp__GetParameterValues(soap, &soap_tmp___cwmp__GetParameterValues);
  311. if (!soap_get___cwmp__GetParameterValues(soap, &soap_tmp___cwmp__GetParameterValues, "-cwmp:GetParameterValues", NULL))
  312. return soap->error;
  313. if (soap_body_end_in(soap)
  314. || soap_envelope_end_in(soap)
  315. || soap_end_recv(soap))
  316. return soap->error;
  317. soap->error = service->GetParameterValues(soap_tmp___cwmp__GetParameterValues.cwmp__GetParameterValues, &cwmp__GetParameterValuesResponse);
  318. if (soap->error)
  319. return soap->error;
  320. soap->encodingStyle = ""; /* use SOAP encoding style */
  321. soap_serializeheader(soap);
  322. soap_serialize__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse);
  323. if (soap_begin_count(soap))
  324. return soap->error;
  325. if ((soap->mode & SOAP_IO_LENGTH))
  326. { if (soap_envelope_begin_out(soap)
  327. || soap_putheader(soap)
  328. || soap_body_begin_out(soap)
  329. || soap_put__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse, "cwmp:GetParameterValuesResponse", "")
  330. || soap_body_end_out(soap)
  331. || soap_envelope_end_out(soap))
  332. return soap->error;
  333. };
  334. if (soap_end_count(soap)
  335. || soap_response(soap, SOAP_OK)
  336. || soap_envelope_begin_out(soap)
  337. || soap_putheader(soap)
  338. || soap_body_begin_out(soap)
  339. || soap_put__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse, "cwmp:GetParameterValuesResponse", "")
  340. || soap_body_end_out(soap)
  341. || soap_envelope_end_out(soap)
  342. || soap_end_send(soap))
  343. return soap->error;
  344. return soap_closesock(soap);
  345. }
  346. static int serve___cwmp__GetParameterValuesResponse(struct soap *soap, cwmpService *service)
  347. { struct __cwmp__GetParameterValuesResponse soap_tmp___cwmp__GetParameterValuesResponse;
  348. soap_default___cwmp__GetParameterValuesResponse(soap, &soap_tmp___cwmp__GetParameterValuesResponse);
  349. if (!soap_get___cwmp__GetParameterValuesResponse(soap, &soap_tmp___cwmp__GetParameterValuesResponse, "-cwmp:GetParameterValuesResponse", NULL))
  350. return soap->error;
  351. if (soap_body_end_in(soap)
  352. || soap_envelope_end_in(soap)
  353. || soap_end_recv(soap))
  354. return soap->error;
  355. soap->error = service->GetParameterValuesResponse(soap_tmp___cwmp__GetParameterValuesResponse.cwmp__GetParameterValuesResponse);
  356. if (soap->error)
  357. return soap->error;
  358. return soap_closesock(soap);
  359. }
  360. static int serve___cwmp__SetParameterValues(struct soap *soap, cwmpService *service)
  361. { struct __cwmp__SetParameterValues soap_tmp___cwmp__SetParameterValues;
  362. struct _cwmp__SetParameterValuesResponse cwmp__SetParameterValuesResponse;
  363. soap_default__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse);
  364. soap_default___cwmp__SetParameterValues(soap, &soap_tmp___cwmp__SetParameterValues);
  365. if (!soap_get___cwmp__SetParameterValues(soap, &soap_tmp___cwmp__SetParameterValues, "-cwmp:SetParameterValues", NULL))
  366. return soap->error;
  367. if (soap_body_end_in(soap)
  368. || soap_envelope_end_in(soap)
  369. || soap_end_recv(soap))
  370. return soap->error;
  371. soap->error = service->SetParameterValues(soap_tmp___cwmp__SetParameterValues.cwmp__SetParameterValues, &cwmp__SetParameterValuesResponse);
  372. if (soap->error)
  373. return soap->error;
  374. soap->encodingStyle = ""; /* use SOAP encoding style */
  375. soap_serializeheader(soap);
  376. soap_serialize__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse);
  377. if (soap_begin_count(soap))
  378. return soap->error;
  379. if ((soap->mode & SOAP_IO_LENGTH))
  380. { if (soap_envelope_begin_out(soap)
  381. || soap_putheader(soap)
  382. || soap_body_begin_out(soap)
  383. || soap_put__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse, "cwmp:SetParameterValuesResponse", "")
  384. || soap_body_end_out(soap)
  385. || soap_envelope_end_out(soap))
  386. return soap->error;
  387. };
  388. if (soap_end_count(soap)
  389. || soap_response(soap, SOAP_OK)
  390. || soap_envelope_begin_out(soap)
  391. || soap_putheader(soap)
  392. || soap_body_begin_out(soap)
  393. || soap_put__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse, "cwmp:SetParameterValuesResponse", "")
  394. || soap_body_end_out(soap)
  395. || soap_envelope_end_out(soap)
  396. || soap_end_send(soap))
  397. return soap->error;
  398. return soap_closesock(soap);
  399. }
  400. static int serve___cwmp__GetParameterAttributes(struct soap *soap, cwmpService *service)
  401. { struct __cwmp__GetParameterAttributes soap_tmp___cwmp__GetParameterAttributes;
  402. struct _cwmp__GetParameterAttributesResponse cwmp__GetParameterAttributesResponse;
  403. soap_default__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse);
  404. soap_default___cwmp__GetParameterAttributes(soap, &soap_tmp___cwmp__GetParameterAttributes);
  405. if (!soap_get___cwmp__GetParameterAttributes(soap, &soap_tmp___cwmp__GetParameterAttributes, "-cwmp:GetParameterAttributes", NULL))
  406. return soap->error;
  407. if (soap_body_end_in(soap)
  408. || soap_envelope_end_in(soap)
  409. || soap_end_recv(soap))
  410. return soap->error;
  411. soap->error = service->GetParameterAttributes(soap_tmp___cwmp__GetParameterAttributes.cwmp__GetParameterAttributes, &cwmp__GetParameterAttributesResponse);
  412. if (soap->error)
  413. return soap->error;
  414. soap->encodingStyle = ""; /* use SOAP encoding style */
  415. soap_serializeheader(soap);
  416. soap_serialize__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse);
  417. if (soap_begin_count(soap))
  418. return soap->error;
  419. if ((soap->mode & SOAP_IO_LENGTH))
  420. { if (soap_envelope_begin_out(soap)
  421. || soap_putheader(soap)
  422. || soap_body_begin_out(soap)
  423. || soap_put__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse, "cwmp:GetParameterAttributesResponse", "")
  424. || soap_body_end_out(soap)
  425. || soap_envelope_end_out(soap))
  426. return soap->error;
  427. };
  428. if (soap_end_count(soap)
  429. || soap_response(soap, SOAP_OK)
  430. || soap_envelope_begin_out(soap)
  431. || soap_putheader(soap)
  432. || soap_body_begin_out(soap)
  433. || soap_put__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse, "cwmp:GetParameterAttributesResponse", "")
  434. || soap_body_end_out(soap)
  435. || soap_envelope_end_out(soap)
  436. || soap_end_send(soap))
  437. return soap->error;
  438. return soap_closesock(soap);
  439. }
  440. static int serve___cwmp__SetParameterAttributes(struct soap *soap, cwmpService *service)
  441. { struct __cwmp__SetParameterAttributes soap_tmp___cwmp__SetParameterAttributes;
  442. struct _cwmp__SetParameterAttributesResponse cwmp__SetParameterAttributesResponse;
  443. soap_default__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse);
  444. soap_default___cwmp__SetParameterAttributes(soap, &soap_tmp___cwmp__SetParameterAttributes);
  445. if (!soap_get___cwmp__SetParameterAttributes(soap, &soap_tmp___cwmp__SetParameterAttributes, "-cwmp:SetParameterAttributes", NULL))
  446. return soap->error;
  447. if (soap_body_end_in(soap)
  448. || soap_envelope_end_in(soap)
  449. || soap_end_recv(soap))
  450. return soap->error;
  451. soap->error = service->SetParameterAttributes(soap_tmp___cwmp__SetParameterAttributes.cwmp__SetParameterAttributes, &cwmp__SetParameterAttributesResponse);
  452. if (soap->error)
  453. return soap->error;
  454. soap->encodingStyle = ""; /* use SOAP encoding style */
  455. soap_serializeheader(soap);
  456. soap_serialize__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse);
  457. if (soap_begin_count(soap))
  458. return soap->error;
  459. if ((soap->mode & SOAP_IO_LENGTH))
  460. { if (soap_envelope_begin_out(soap)
  461. || soap_putheader(soap)
  462. || soap_body_begin_out(soap)
  463. || soap_put__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse, "cwmp:SetParameterAttributesResponse", "")
  464. || soap_body_end_out(soap)
  465. || soap_envelope_end_out(soap))
  466. return soap->error;
  467. };
  468. if (soap_end_count(soap)
  469. || soap_response(soap, SOAP_OK)
  470. || soap_envelope_begin_out(soap)
  471. || soap_putheader(soap)
  472. || soap_body_begin_out(soap)
  473. || soap_put__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse, "cwmp:SetParameterAttributesResponse", "")
  474. || soap_body_end_out(soap)
  475. || soap_envelope_end_out(soap)
  476. || soap_end_send(soap))
  477. return soap->error;
  478. return soap_closesock(soap);
  479. }
  480. static int serve___cwmp__Download(struct soap *soap, cwmpService *service)
  481. { struct __cwmp__Download soap_tmp___cwmp__Download;
  482. struct _cwmp__DownloadResponse cwmp__DownloadResponse;
  483. soap_default__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse);
  484. soap_default___cwmp__Download(soap, &soap_tmp___cwmp__Download);
  485. if (!soap_get___cwmp__Download(soap, &soap_tmp___cwmp__Download, "-cwmp:Download", NULL))
  486. return soap->error;
  487. if (soap_body_end_in(soap)
  488. || soap_envelope_end_in(soap)
  489. || soap_end_recv(soap))
  490. return soap->error;
  491. soap->error = service->Download(soap_tmp___cwmp__Download.cwmp__Download, &cwmp__DownloadResponse);
  492. if (soap->error)
  493. return soap->error;
  494. soap->encodingStyle = ""; /* use SOAP encoding style */
  495. soap_serializeheader(soap);
  496. soap_serialize__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse);
  497. if (soap_begin_count(soap))
  498. return soap->error;
  499. if ((soap->mode & SOAP_IO_LENGTH))
  500. { if (soap_envelope_begin_out(soap)
  501. || soap_putheader(soap)
  502. || soap_body_begin_out(soap)
  503. || soap_put__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse, "cwmp:DownloadResponse", "")
  504. || soap_body_end_out(soap)
  505. || soap_envelope_end_out(soap))
  506. return soap->error;
  507. };
  508. if (soap_end_count(soap)
  509. || soap_response(soap, SOAP_OK)
  510. || soap_envelope_begin_out(soap)
  511. || soap_putheader(soap)
  512. || soap_body_begin_out(soap)
  513. || soap_put__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse, "cwmp:DownloadResponse", "")
  514. || soap_body_end_out(soap)
  515. || soap_envelope_end_out(soap)
  516. || soap_end_send(soap))
  517. return soap->error;
  518. return soap_closesock(soap);
  519. }
  520. static int serve___cwmp__Upload(struct soap *soap, cwmpService *service)
  521. { struct __cwmp__Upload soap_tmp___cwmp__Upload;
  522. struct _cwmp__UploadResponse cwmp__UploadResponse;
  523. soap_default__cwmp__UploadResponse(soap, &cwmp__UploadResponse);
  524. soap_default___cwmp__Upload(soap, &soap_tmp___cwmp__Upload);
  525. if (!soap_get___cwmp__Upload(soap, &soap_tmp___cwmp__Upload, "-cwmp:Upload", NULL))
  526. return soap->error;
  527. if (soap_body_end_in(soap)
  528. || soap_envelope_end_in(soap)
  529. || soap_end_recv(soap))
  530. return soap->error;
  531. soap->error = service->Upload(soap_tmp___cwmp__Upload.cwmp__Upload, &cwmp__UploadResponse);
  532. if (soap->error)
  533. return soap->error;
  534. soap->encodingStyle = ""; /* use SOAP encoding style */
  535. soap_serializeheader(soap);
  536. soap_serialize__cwmp__UploadResponse(soap, &cwmp__UploadResponse);
  537. if (soap_begin_count(soap))
  538. return soap->error;
  539. if ((soap->mode & SOAP_IO_LENGTH))
  540. { if (soap_envelope_begin_out(soap)
  541. || soap_putheader(soap)
  542. || soap_body_begin_out(soap)
  543. || soap_put__cwmp__UploadResponse(soap, &cwmp__UploadResponse, "cwmp:UploadResponse", "")
  544. || soap_body_end_out(soap)
  545. || soap_envelope_end_out(soap))
  546. return soap->error;
  547. };
  548. if (soap_end_count(soap)
  549. || soap_response(soap, SOAP_OK)
  550. || soap_envelope_begin_out(soap)
  551. || soap_putheader(soap)
  552. || soap_body_begin_out(soap)
  553. || soap_put__cwmp__UploadResponse(soap, &cwmp__UploadResponse, "cwmp:UploadResponse", "")
  554. || soap_body_end_out(soap)
  555. || soap_envelope_end_out(soap)
  556. || soap_end_send(soap))
  557. return soap->error;
  558. return soap_closesock(soap);
  559. }
  560. static int serve___cwmp__AddObject(struct soap *soap, cwmpService *service)
  561. { struct __cwmp__AddObject soap_tmp___cwmp__AddObject;
  562. struct _cwmp__AddObjectResponse cwmp__AddObjectResponse;
  563. soap_default__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse);
  564. soap_default___cwmp__AddObject(soap, &soap_tmp___cwmp__AddObject);
  565. if (!soap_get___cwmp__AddObject(soap, &soap_tmp___cwmp__AddObject, "-cwmp:AddObject", NULL))
  566. return soap->error;
  567. if (soap_body_end_in(soap)
  568. || soap_envelope_end_in(soap)
  569. || soap_end_recv(soap))
  570. return soap->error;
  571. soap->error = service->AddObject(soap_tmp___cwmp__AddObject.cwmp__AddObject, &cwmp__AddObjectResponse);
  572. if (soap->error)
  573. return soap->error;
  574. soap->encodingStyle = ""; /* use SOAP encoding style */
  575. soap_serializeheader(soap);
  576. soap_serialize__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse);
  577. if (soap_begin_count(soap))
  578. return soap->error;
  579. if ((soap->mode & SOAP_IO_LENGTH))
  580. { if (soap_envelope_begin_out(soap)
  581. || soap_putheader(soap)
  582. || soap_body_begin_out(soap)
  583. || soap_put__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse, "cwmp:AddObjectResponse", "")
  584. || soap_body_end_out(soap)
  585. || soap_envelope_end_out(soap))
  586. return soap->error;
  587. };
  588. if (soap_end_count(soap)
  589. || soap_response(soap, SOAP_OK)
  590. || soap_envelope_begin_out(soap)
  591. || soap_putheader(soap)
  592. || soap_body_begin_out(soap)
  593. || soap_put__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse, "cwmp:AddObjectResponse", "")
  594. || soap_body_end_out(soap)
  595. || soap_envelope_end_out(soap)
  596. || soap_end_send(soap))
  597. return soap->error;
  598. return soap_closesock(soap);
  599. }
  600. static int serve___cwmp__DeleteObject(struct soap *soap, cwmpService *service)
  601. { struct __cwmp__DeleteObject soap_tmp___cwmp__DeleteObject;
  602. struct _cwmp__DeleteObjectResponse cwmp__DeleteObjectResponse;
  603. soap_default__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse);
  604. soap_default___cwmp__DeleteObject(soap, &soap_tmp___cwmp__DeleteObject);
  605. if (!soap_get___cwmp__DeleteObject(soap, &soap_tmp___cwmp__DeleteObject, "-cwmp:DeleteObject", NULL))
  606. return soap->error;
  607. if (soap_body_end_in(soap)
  608. || soap_envelope_end_in(soap)
  609. || soap_end_recv(soap))
  610. return soap->error;
  611. soap->error = service->DeleteObject(soap_tmp___cwmp__DeleteObject.cwmp__DeleteObject, &cwmp__DeleteObjectResponse);
  612. if (soap->error)
  613. return soap->error;
  614. soap->encodingStyle = ""; /* use SOAP encoding style */
  615. soap_serializeheader(soap);
  616. soap_serialize__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse);
  617. if (soap_begin_count(soap))
  618. return soap->error;
  619. if ((soap->mode & SOAP_IO_LENGTH))
  620. { if (soap_envelope_begin_out(soap)
  621. || soap_putheader(soap)
  622. || soap_body_begin_out(soap)
  623. || soap_put__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse, "cwmp:DeleteObjectResponse", "")
  624. || soap_body_end_out(soap)
  625. || soap_envelope_end_out(soap))
  626. return soap->error;
  627. };
  628. if (soap_end_count(soap)
  629. || soap_response(soap, SOAP_OK)
  630. || soap_envelope_begin_out(soap)
  631. || soap_putheader(soap)
  632. || soap_body_begin_out(soap)
  633. || soap_put__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse, "cwmp:DeleteObjectResponse", "")
  634. || soap_body_end_out(soap)
  635. || soap_envelope_end_out(soap)
  636. || soap_end_send(soap))
  637. return soap->error;
  638. return soap_closesock(soap);
  639. }
  640. static int serve___cwmp__GetRPCMethods(struct soap *soap, cwmpService *service)
  641. { struct __cwmp__GetRPCMethods soap_tmp___cwmp__GetRPCMethods;
  642. struct _cwmp__GetRPCMethodsResponse cwmp__GetRPCMethodsResponse;
  643. soap_default__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse);
  644. soap_default___cwmp__GetRPCMethods(soap, &soap_tmp___cwmp__GetRPCMethods);
  645. if (!soap_get___cwmp__GetRPCMethods(soap, &soap_tmp___cwmp__GetRPCMethods, "-cwmp:GetRPCMethods", NULL))
  646. return soap->error;
  647. if (soap_body_end_in(soap)
  648. || soap_envelope_end_in(soap)
  649. || soap_end_recv(soap))
  650. return soap->error;
  651. soap->error = service->GetRPCMethods(soap_tmp___cwmp__GetRPCMethods.cwmp__GetRPCMethods, &cwmp__GetRPCMethodsResponse);
  652. if (soap->error)
  653. return soap->error;
  654. soap->encodingStyle = ""; /* use SOAP encoding style */
  655. soap_serializeheader(soap);
  656. soap_serialize__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse);
  657. if (soap_begin_count(soap))
  658. return soap->error;
  659. if ((soap->mode & SOAP_IO_LENGTH))
  660. { if (soap_envelope_begin_out(soap)
  661. || soap_putheader(soap)
  662. || soap_body_begin_out(soap)
  663. || soap_put__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse, "cwmp:GetRPCMethodsResponse", "")
  664. || soap_body_end_out(soap)
  665. || soap_envelope_end_out(soap))
  666. return soap->error;
  667. };
  668. if (soap_end_count(soap)
  669. || soap_response(soap, SOAP_OK)
  670. || soap_envelope_begin_out(soap)
  671. || soap_putheader(soap)
  672. || soap_body_begin_out(soap)
  673. || soap_put__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse, "cwmp:GetRPCMethodsResponse", "")
  674. || soap_body_end_out(soap)
  675. || soap_envelope_end_out(soap)
  676. || soap_end_send(soap))
  677. return soap->error;
  678. return soap_closesock(soap);
  679. }
  680. static int serve___cwmp__Inform(struct soap *soap, cwmpService *service)
  681. { struct __cwmp__Inform soap_tmp___cwmp__Inform;
  682. struct _cwmp__InformResponse cwmp__InformResponse;
  683. soap_default__cwmp__InformResponse(soap, &cwmp__InformResponse);
  684. soap_default___cwmp__Inform(soap, &soap_tmp___cwmp__Inform);
  685. if (!soap_get___cwmp__Inform(soap, &soap_tmp___cwmp__Inform, "-cwmp:Inform", NULL))
  686. return soap->error;
  687. if (soap_body_end_in(soap)
  688. || soap_envelope_end_in(soap)
  689. || soap_end_recv(soap))
  690. return soap->error;
  691. soap->error = service->Inform(soap_tmp___cwmp__Inform.cwmp__Inform, &cwmp__InformResponse);
  692. if (soap->error)
  693. return soap->error;
  694. soap->encodingStyle = ""; /* use SOAP encoding style */
  695. soap_serializeheader(soap);
  696. soap_serialize__cwmp__InformResponse(soap, &cwmp__InformResponse);
  697. if (soap_begin_count(soap))
  698. return soap->error;
  699. if ((soap->mode & SOAP_IO_LENGTH))
  700. { if (soap_envelope_begin_out(soap)
  701. || soap_putheader(soap)
  702. || soap_body_begin_out(soap)
  703. || soap_put__cwmp__InformResponse(soap, &cwmp__InformResponse, "cwmp:InformResponse", "")
  704. || soap_body_end_out(soap)
  705. || soap_envelope_end_out(soap))
  706. return soap->error;
  707. };
  708. if (soap_end_count(soap)
  709. || soap_response(soap, SOAP_OK)
  710. || soap_envelope_begin_out(soap)
  711. || soap_putheader(soap)
  712. || soap_body_begin_out(soap)
  713. || soap_put__cwmp__InformResponse(soap, &cwmp__InformResponse, "cwmp:InformResponse", "")
  714. || soap_body_end_out(soap)
  715. || soap_envelope_end_out(soap)
  716. || soap_end_send(soap))
  717. return soap->error;
  718. return soap_closesock(soap);
  719. }
  720. static int serve___cwmp__Reboot(struct soap *soap, cwmpService *service)
  721. { struct __cwmp__Reboot soap_tmp___cwmp__Reboot;
  722. struct _cwmp__RebootResponse cwmp__RebootResponse;
  723. struct __cwmp__Reboot cwmp__reboot;
  724. soap_default__cwmp__RebootResponse(soap, &cwmp__RebootResponse);
  725. soap_default___cwmp__Reboot(soap, &soap_tmp___cwmp__Reboot);
  726. soap_default___cwmp__Reboot(soap, &cwmp__reboot);
  727. soap->error = service->Reboot(soap_tmp___cwmp__Reboot.cwmp__Reboot, &cwmp__RebootResponse);
  728. if (!soap_get___cwmp__Reboot(soap, &soap_tmp___cwmp__Reboot, "-cwmp:Reboot", NULL))
  729. return soap->error;
  730. if (soap_body_end_in(soap)
  731. || soap_envelope_end_in(soap)
  732. || soap_end_recv(soap))
  733. return soap->error;
  734. soap->error = service->Reboot(soap_tmp___cwmp__Reboot.cwmp__Reboot, &cwmp__RebootResponse);
  735. if (soap->error)
  736. return soap->error;
  737. soap->encodingStyle = ""; /* use SOAP encoding style */
  738. soap_serializeheader(soap);
  739. soap_serialize__cwmp__RebootResponse(soap, &cwmp__RebootResponse);
  740. if (soap_begin_count(soap))
  741. return soap->error;
  742. if ((soap->mode & SOAP_IO_LENGTH))
  743. { if (soap_envelope_begin_out(soap)
  744. || soap_putheader(soap)
  745. || soap_body_begin_out(soap)
  746. || soap_put__cwmp__RebootResponse(soap, &cwmp__RebootResponse, "cwmp:RebootResponse", "")
  747. || soap_body_end_out(soap)
  748. || soap_envelope_end_out(soap))
  749. return soap->error;
  750. };
  751. if (soap_end_count(soap)
  752. || soap_response(soap, SOAP_OK)
  753. || soap_envelope_begin_out(soap)
  754. || soap_putheader(soap)
  755. || soap_body_begin_out(soap)
  756. || soap_put__cwmp__RebootResponse(soap, &cwmp__RebootResponse, "cwmp:RebootResponse", "")
  757. || soap_body_end_out(soap)
  758. || soap_envelope_end_out(soap)
  759. || soap_end_send(soap))
  760. return soap->error;
  761. return soap_closesock(soap);
  762. }
  763. static int serve___cwmp__FactoryReset(struct soap *soap, cwmpService *service)
  764. { struct __cwmp__FactoryReset soap_tmp___cwmp__FactoryReset;
  765. struct _cwmp__FactoryResetResponse cwmp__FactoryResetResponse;
  766. soap_default__cwmp__FactoryResetResponse(soap, &cwmp__FactoryResetResponse);
  767. soap_default___cwmp__FactoryReset(soap, &soap_tmp___cwmp__FactoryReset);
  768. if (!soap_get___cwmp__FactoryReset(soap, &soap_tmp___cwmp__FactoryReset, "-cwmp:FactoryReset", NULL))
  769. return soap->error;
  770. // std::cerr<<"Factory Reset Called in serve___cwmp__FactoryReset."<<std::endl;
  771. if (soap_body_end_in(soap)
  772. || soap_envelope_end_in(soap)
  773. || soap_end_recv(soap))
  774. return soap->error;
  775. soap->error = service->FactoryReset(soap_tmp___cwmp__FactoryReset.cwmp__FactoryReset, &cwmp__FactoryResetResponse);
  776. if (soap->error)
  777. return soap->error;
  778. soap->encodingStyle = ""; /* use SOAP encoding style */
  779. soap_serializeheader(soap);
  780. soap_serialize__cwmp__FactoryResetResponse(soap, &cwmp__FactoryResetResponse);
  781. if (soap_begin_count(soap))
  782. return soap->error;
  783. if ((soap->mode & SOAP_IO_LENGTH))
  784. { if (soap_envelope_begin_out(soap)
  785. || soap_putheader(soap)
  786. || soap_body_begin_out(soap)
  787. || soap_put__cwmp__FactoryResetResponse(soap, &cwmp__FactoryResetResponse, "cwmp:FactoryResetResponse", "")
  788. || soap_body_end_out(soap)
  789. || soap_envelope_end_out(soap))
  790. return soap->error;
  791. };
  792. if (soap_end_count(soap)
  793. || soap_response(soap, SOAP_OK)
  794. || soap_envelope_begin_out(soap)
  795. || soap_putheader(soap)
  796. || soap_body_begin_out(soap)
  797. || soap_put__cwmp__FactoryResetResponse(soap, &cwmp__FactoryResetResponse, "cwmp:FactoryResetResponse", "")
  798. || soap_body_end_out(soap)
  799. || soap_envelope_end_out(soap)
  800. || soap_end_send(soap))
  801. return soap->error;
  802. return soap_closesock(soap);
  803. }
  804. /* End of server object code */
  805. int cwmpService::ChechQueue(struct soap *soap , cwmpService *cwmpService1) {
  806. // auto res=cwmpService::CustomeFactoryReset(soap, this);
  807. // std::cerr<<"Final Result is: "<<res<<std::endl;
  808. // CustomeFactoryReset(soap,this);
  809. CustomeReboot(soap,this);
  810. return soap_closesock(soap);
  811. }
  812. int cwmpService::CustomeFactoryReset(struct soap *pSoap, cwmpService *pService) {
  813. struct _cwmp__FactoryReset cwmp__FactoryReset;
  814. struct __cwmp__FactoryReset soap_tmp___cwmp__FactoryReset;
  815. struct _cwmp__FactoryResetResponse cwmp__FactoryResetResponse;
  816. soap_default__cwmp__FactoryResetResponse(soap, &cwmp__FactoryResetResponse);
  817. soap_default___cwmp__FactoryReset(soap, &soap_tmp___cwmp__FactoryReset);
  818. // if (soap_body_end_in(soap)
  819. // || soap_envelope_end_in(soap)
  820. // || soap_end_recv(soap))
  821. // return soap->error;
  822. soap->error = pService->FactoryReset(soap_tmp___cwmp__FactoryReset.cwmp__FactoryReset, &cwmp__FactoryResetResponse);
  823. if (soap->error)
  824. return soap->error;
  825. soap->encodingStyle = ""; /* use SOAP encoding style */
  826. soap_serializeheader(soap);
  827. soap_serialize__cwmp__FactoryReset(soap, &cwmp__FactoryReset);
  828. if (soap_begin_count(soap))
  829. return soap->error;
  830. if ((soap->mode & SOAP_IO_LENGTH))
  831. { if (soap_envelope_begin_out(soap)
  832. || soap_putheader(soap)
  833. || soap_body_begin_out(soap)
  834. || soap_put__cwmp__FactoryReset(soap, &cwmp__FactoryReset, "cwmp:FactoryReset", "")
  835. || soap_body_end_out(soap)
  836. || soap_envelope_end_out(soap))
  837. return soap->error;
  838. };
  839. if (soap_end_count(soap)
  840. || soap_response(soap, SOAP_OK)
  841. || soap_envelope_begin_out(soap)
  842. || soap_putheader(soap)
  843. || soap_body_begin_out(soap)
  844. || soap_put__cwmp__FactoryReset(soap, &cwmp__FactoryReset, "cwmp:FactoryReset", "")
  845. || soap_body_end_out(soap)
  846. || soap_envelope_end_out(soap)
  847. || soap_end_send(soap))
  848. return soap->error;
  849. return soap_closesock(soap);
  850. }
  851. int cwmpService::CustomeReboot(struct soap *pSoap, cwmpService *pService) {
  852. // struct __cwmp__Reboot soap_tmp___cwmp__Reboot;
  853. soap->error=0;
  854. // struct _cwmp__RebootResponse cwmp__RebootResponse;
  855. struct _cwmp__Reboot cwmp__reboot;
  856. // soap_default___cwmp__Reboot(soap, &cwmp__reboot);
  857. cwmp__reboot.CommandKey="reboot";
  858. if ((soap->mode & SOAP_IO_LENGTH))
  859. { if (soap_envelope_begin_out(soap)
  860. || soap_putheader(soap)
  861. || soap_body_begin_out(soap)
  862. || soap_put__cwmp__Reboot(soap, &cwmp__reboot, "cwmp:Reboot", "")
  863. || soap_body_end_out(soap)
  864. || soap_envelope_end_out(soap))
  865. return soap->error;
  866. };
  867. if (soap_end_count(soap)
  868. || soap_response(soap, SOAP_OK)
  869. || soap_envelope_begin_out(soap)
  870. || soap_putheader(soap)
  871. || soap_body_begin_out(soap)
  872. || soap_put__cwmp__Reboot(soap, &cwmp__reboot, "cwmp:Reboot", "")
  873. || soap_body_end_out(soap)
  874. || soap_envelope_end_out(soap)
  875. || soap_end_send(soap))
  876. return soap->error;
  877. return soap_closesock(soap);
  878. }
  879. int cwmpService::CustomeRebootResonse(struct soap *pSoap, cwmpService *pService) {
  880. std::cerr<<"Recieve Reboot Response in Service.cpp"<<std::endl;
  881. return SOAP_OK;
  882. }