/* soapNotificationConsumerBindingProxy.cpp Generated by gSOAP 2.8.138 for gen/onvif.h gSOAP XML Web services tools Copyright (C) 2000-2025, Robert van Engelen, Genivia Inc. All Rights Reserved. The soapcpp2 tool and its generated software are released under the GPL. This program is released under the GPL with the additional exemption that compiling, linking, and/or using OpenSSL is allowed. -------------------------------------------------------------------------------- A commercial use license is available from Genivia Inc., contact@genivia.com -------------------------------------------------------------------------------- */ #include "soapNotificationConsumerBindingProxy.h" NotificationConsumerBindingProxy::NotificationConsumerBindingProxy() { this->soap = soap_new(); this->soap_own = true; NotificationConsumerBindingProxy_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT); } NotificationConsumerBindingProxy::NotificationConsumerBindingProxy(const NotificationConsumerBindingProxy& rhs) { this->soap = rhs.soap; this->soap_own = false; this->soap_endpoint = rhs.soap_endpoint; } NotificationConsumerBindingProxy::NotificationConsumerBindingProxy(struct soap *_soap) { this->soap = _soap; this->soap_own = false; NotificationConsumerBindingProxy_init(_soap->imode, _soap->omode); } NotificationConsumerBindingProxy::NotificationConsumerBindingProxy(struct soap *_soap, const char *soap_endpoint_url) { this->soap = _soap; this->soap_own = false; NotificationConsumerBindingProxy_init(_soap->imode, _soap->omode); soap_endpoint = soap_endpoint_url; } NotificationConsumerBindingProxy::NotificationConsumerBindingProxy(const char *soap_endpoint_url) { this->soap = soap_new(); this->soap_own = true; NotificationConsumerBindingProxy_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT); soap_endpoint = soap_endpoint_url; } NotificationConsumerBindingProxy::NotificationConsumerBindingProxy(soap_mode iomode) { this->soap = soap_new(); this->soap_own = true; NotificationConsumerBindingProxy_init(iomode, iomode); } NotificationConsumerBindingProxy::NotificationConsumerBindingProxy(const char *soap_endpoint_url, soap_mode iomode) { this->soap = soap_new(); this->soap_own = true; NotificationConsumerBindingProxy_init(iomode, iomode); soap_endpoint = soap_endpoint_url; } NotificationConsumerBindingProxy::NotificationConsumerBindingProxy(soap_mode imode, soap_mode omode) { this->soap = soap_new(); this->soap_own = true; NotificationConsumerBindingProxy_init(imode, omode); } NotificationConsumerBindingProxy::~NotificationConsumerBindingProxy() { if (this->soap_own) { NotificationConsumerBindingProxy::destroy(); soap_free(this->soap); } } void NotificationConsumerBindingProxy::NotificationConsumerBindingProxy_init(soap_mode imode, soap_mode omode) { soap_imode(this->soap, imode); soap_omode(this->soap, omode); soap_endpoint = NULL; static const struct Namespace namespaces[] = { { "SOAP-ENV", "http://www.w3.org/2003/05/soap-envelope", "http://schemas.xmlsoap.org/soap/envelope/", NULL }, { "SOAP-ENC", "http://www.w3.org/2003/05/soap-encoding", "http://schemas.xmlsoap.org/soap/encoding/", NULL }, { "xsi", "http://www.w3.org/2001/XMLSchema-instance", "http://www.w3.org/*/XMLSchema-instance", NULL }, { "xsd", "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/*/XMLSchema", NULL }, { "wsa", "http://schemas.xmlsoap.org/ws/2004/08/addressing", "http://www.w3.org/2005/08/addressing", NULL }, { "wsdd", "http://schemas.xmlsoap.org/ws/2005/04/discovery", NULL, NULL }, { "c14n", "http://www.w3.org/2001/10/xml-exc-c14n#", NULL, NULL }, { "ds", "http://www.w3.org/2000/09/xmldsig#", NULL, NULL }, { "saml1", "urn:oasis:names:tc:SAML:1.0:assertion", NULL, NULL }, { "saml2", "urn:oasis:names:tc:SAML:2.0:assertion", NULL, NULL }, { "wsu", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd", NULL, NULL }, { "xenc", "http://www.w3.org/2001/04/xmlenc#", NULL, NULL }, { "wsc", "http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512", "http://schemas.xmlsoap.org/ws/2005/02/sc", NULL }, { "wsse", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd", NULL }, { "chan", "http://schemas.microsoft.com/ws/2005/02/duplex", NULL, NULL }, { "wsa5", "http://www.w3.org/2005/08/addressing", "http://schemas.xmlsoap.org/ws/2004/08/addressing", NULL }, { "wsrfbf", "http://docs.oasis-open.org/wsrf/bf-2", NULL, NULL }, { "xmime", "http://www.w3.org/2005/05/xmlmime", NULL, NULL }, { "xop", "http://www.w3.org/2004/08/xop/include", NULL, NULL }, { "tt", "http://www.onvif.org/ver10/schema", NULL, NULL }, { "wstop", "http://docs.oasis-open.org/wsn/t-1", NULL, NULL }, { "wsrfr", "http://docs.oasis-open.org/wsrf/r-2", NULL, NULL }, { "tds", "http://www.onvif.org/ver10/device/wsdl", NULL, NULL }, { "tevcpp", "http://www.onvif.org/ver10/events/wsdl/CreatePullPointBinding", NULL, NULL }, { "teve", "http://www.onvif.org/ver10/events/wsdl/EventBinding", NULL, NULL }, { "tevnc", "http://www.onvif.org/ver10/events/wsdl/NotificationConsumerBinding", NULL, NULL }, { "tevnp", "http://www.onvif.org/ver10/events/wsdl/NotificationProducerBinding", NULL, NULL }, { "tevpp", "http://www.onvif.org/ver10/events/wsdl/PullPointBinding", NULL, NULL }, { "tevpps", "http://www.onvif.org/ver10/events/wsdl/PullPointSubscriptionBinding", NULL, NULL }, { "tev", "http://www.onvif.org/ver10/events/wsdl", NULL, NULL }, { "tevps", "http://www.onvif.org/ver10/events/wsdl/PausableSubscriptionManagerBinding", NULL, NULL }, { "wsnt", "http://docs.oasis-open.org/wsn/b-2", NULL, NULL }, { "tevs", "http://www.onvif.org/ver10/events/wsdl/SubscriptionManagerBinding", NULL, NULL }, { "timg", "http://www.onvif.org/ver20/imaging/wsdl", NULL, NULL }, { "tls", "http://www.onvif.org/ver10/display/wsdl", NULL, NULL }, { "tmd", "http://www.onvif.org/ver10/deviceIO/wsdl", NULL, NULL }, { "tptz", "http://www.onvif.org/ver20/ptz/wsdl", NULL, NULL }, { "trc", "http://www.onvif.org/ver10/recording/wsdl", NULL, NULL }, { "trp", "http://www.onvif.org/ver10/replay/wsdl", NULL, NULL }, { "trt", "http://www.onvif.org/ver10/media/wsdl", NULL, NULL }, { "trv", "http://www.onvif.org/ver10/receiver/wsdl", NULL, NULL }, { "tse", "http://www.onvif.org/ver10/search/wsdl", NULL, NULL }, { NULL, NULL, NULL, NULL} /* end of namespaces[] */ }; soap_set_namespaces(this->soap, namespaces); } NotificationConsumerBindingProxy *NotificationConsumerBindingProxy::copy() { NotificationConsumerBindingProxy *dup = SOAP_NEW_UNMANAGED(NotificationConsumerBindingProxy); if (dup) { soap_done(dup->soap); soap_copy_context(dup->soap, this->soap); } return dup; } NotificationConsumerBindingProxy& NotificationConsumerBindingProxy::operator=(const NotificationConsumerBindingProxy& rhs) { if (this->soap != rhs.soap) { if (this->soap_own) soap_free(this->soap); this->soap = rhs.soap; this->soap_own = false; this->soap_endpoint = rhs.soap_endpoint; } return *this; } void NotificationConsumerBindingProxy::destroy() { soap_destroy(this->soap); soap_end(this->soap); } void NotificationConsumerBindingProxy::reset() { this->destroy(); soap_done(this->soap); soap_initialize(this->soap); NotificationConsumerBindingProxy_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT); } void NotificationConsumerBindingProxy::soap_noheader() { this->soap->header = NULL; } void NotificationConsumerBindingProxy::soap_header(char *wsa__MessageID, struct wsa__Relationship *wsa__RelatesTo, struct wsa__EndpointReferenceType *wsa__From, struct wsa__EndpointReferenceType *wsa__ReplyTo, struct wsa__EndpointReferenceType *wsa__FaultTo, char *wsa__To, char *wsa__Action, struct wsdd__AppSequenceType *wsdd__AppSequence, struct _wsse__Security *wsse__Security, char *wsa5__MessageID, struct wsa5__RelatesToType *wsa5__RelatesTo, struct wsa5__EndpointReferenceType *wsa5__From, struct wsa5__EndpointReferenceType *wsa5__ReplyTo, struct wsa5__EndpointReferenceType *wsa5__FaultTo, char *wsa5__To, char *wsa5__Action, struct chan__ChannelInstanceType *chan__ChannelInstance) { ::soap_header(this->soap); this->soap->header->wsa__MessageID = wsa__MessageID; this->soap->header->wsa__RelatesTo = wsa__RelatesTo; this->soap->header->wsa__From = wsa__From; this->soap->header->wsa__ReplyTo = wsa__ReplyTo; this->soap->header->wsa__FaultTo = wsa__FaultTo; this->soap->header->wsa__To = wsa__To; this->soap->header->wsa__Action = wsa__Action; this->soap->header->wsdd__AppSequence = wsdd__AppSequence; this->soap->header->wsse__Security = wsse__Security; this->soap->header->wsa5__MessageID = wsa5__MessageID; this->soap->header->wsa5__RelatesTo = wsa5__RelatesTo; this->soap->header->wsa5__From = wsa5__From; this->soap->header->wsa5__ReplyTo = wsa5__ReplyTo; this->soap->header->wsa5__FaultTo = wsa5__FaultTo; this->soap->header->wsa5__To = wsa5__To; this->soap->header->wsa5__Action = wsa5__Action; this->soap->header->chan__ChannelInstance = chan__ChannelInstance; } ::SOAP_ENV__Header *NotificationConsumerBindingProxy::soap_header() { return this->soap->header; } ::SOAP_ENV__Fault *NotificationConsumerBindingProxy::soap_fault() { return this->soap->fault; } const char *NotificationConsumerBindingProxy::soap_fault_subcode() { return ::soap_fault_subcode(this->soap); } const char *NotificationConsumerBindingProxy::soap_fault_string() { return ::soap_fault_string(this->soap); } const char *NotificationConsumerBindingProxy::soap_fault_detail() { return ::soap_fault_detail(this->soap); } int NotificationConsumerBindingProxy::soap_close_socket() { return ::soap_closesock(this->soap); } int NotificationConsumerBindingProxy::soap_force_close_socket() { return ::soap_force_closesock(this->soap); } void NotificationConsumerBindingProxy::soap_print_fault(FILE *fd) { ::soap_print_fault(this->soap, fd); } #ifndef WITH_LEAN #ifndef WITH_COMPAT void NotificationConsumerBindingProxy::soap_stream_fault(std::ostream& os) { ::soap_stream_fault(this->soap, os); } #endif char *NotificationConsumerBindingProxy::soap_sprint_fault(char *buf, size_t len) { return ::soap_sprint_fault(this->soap, buf, len); } #endif int NotificationConsumerBindingProxy::send_Notify(const char *soap_endpoint_url, const char *soap_action, _wsnt__Notify *wsnt__Notify) { struct __tevnc__Notify soap_tmp___tevnc__Notify; if (soap_endpoint_url != NULL) soap_endpoint = soap_endpoint_url; if (soap_action == NULL) soap_action = "http://docs.oasis-open.org/wsn/bw-2/NotificationConsumer/Notify"; soap_tmp___tevnc__Notify.wsnt__Notify = wsnt__Notify; soap_begin(soap); soap_set_version(soap, 2); /* use SOAP1.2 */ soap->encodingStyle = NULL; /* use SOAP literal style */ soap_serializeheader(soap); soap_serialize___tevnc__Notify(soap, &soap_tmp___tevnc__Notify); if (soap_begin_count(soap)) return soap->error; if ((soap->mode & SOAP_IO_LENGTH)) { if (soap_envelope_begin_out(soap) || soap_putheader(soap) || soap_body_begin_out(soap) || soap_put___tevnc__Notify(soap, &soap_tmp___tevnc__Notify, "-tevnc:Notify", "") || soap_body_end_out(soap) || soap_envelope_end_out(soap)) return soap->error; } if (soap_end_count(soap)) return soap->error; if (soap_connect(soap, soap_endpoint, soap_action) || soap_envelope_begin_out(soap) || soap_putheader(soap) || soap_body_begin_out(soap) || soap_put___tevnc__Notify(soap, &soap_tmp___tevnc__Notify, "-tevnc:Notify", "") || soap_body_end_out(soap) || soap_envelope_end_out(soap) || soap_end_send(soap)) return soap_closesock(soap); return SOAP_OK; } int NotificationConsumerBindingProxy::recv_Notify(struct __tevnc__Notify& tmp) { struct __tevnc__Notify *_param_1 = &tmp; soap_default___tevnc__Notify(soap, _param_1); soap_begin(soap); if (soap_begin_recv(soap) || soap_envelope_begin_in(soap) || soap_recv_header(soap) || soap_body_begin_in(soap)) return soap_closesock(soap); soap_get___tevnc__Notify(soap, _param_1, "-tevnc:Notify", NULL); if (soap->error == SOAP_TAG_MISMATCH && soap->level == 2) soap->error = SOAP_OK; if (soap->error || soap_body_end_in(soap) || soap_envelope_end_in(soap) || soap_end_recv(soap)) return soap_closesock(soap); return soap_closesock(soap); } /* End of client proxy code */