542 lines
24 KiB
Objective-C
542 lines
24 KiB
Objective-C
// Reminder: Modify typemap.dat to customize the header file generated by wsdl2h
|
|
/* onvif.h
|
|
Generated by wsdl2h 2.8.135 from http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl and ../gsoap/WS/typemap.dat
|
|
2024-09-04 02:14:03 GMT
|
|
|
|
DO NOT INCLUDE THIS ANNOTATED FILE DIRECTLY IN YOUR PROJECT SOURCE CODE.
|
|
USE THE FILES GENERATED BY soapcpp2 FOR YOUR PROJECT'S SOURCE CODE.
|
|
|
|
gSOAP XML Web services tools
|
|
Copyright (C) 2000,2024, Robert van Engelen, Genivia Inc. All Rights Reserved.
|
|
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
|
|
--------------------------------------------------------------------------------
|
|
*/
|
|
|
|
/**
|
|
|
|
@page page_notes Notes
|
|
|
|
@note HINTS:
|
|
- Run soapcpp2 on onvif.h to generate the SOAP/XML processing logic:
|
|
Use soapcpp2 -I to specify paths for #import
|
|
Use soapcpp2 -j to generate improved proxy and server classes.
|
|
Use soapcpp2 -r to generate a report.
|
|
- Edit 'typemap.dat' to control namespace bindings and type mappings:
|
|
It is strongly recommended to customize the names of the namespace prefixes
|
|
generated by wsdl2h. To do so, modify the prefix bindings in the Namespaces
|
|
section below and add the modified lines to 'typemap.dat' to rerun wsdl2h.
|
|
- Run Doxygen (www.doxygen.org) on this file to generate documentation.
|
|
- Use wsdl2h -c to generate pure C code.
|
|
- Use wsdl2h -R to include the REST operations defined by the WSDLs.
|
|
- Use wsdl2h -O3 or -O4 to optimize by removing unused schema components.
|
|
- Use wsdl2h -d to enable DOM support for xsd:any and xsd:anyType.
|
|
- Use wsdl2h -F to simulate struct-type derivation in C (also works in C++).
|
|
- Use wsdl2h -f to generate flat C++ class hierarchy, removes type derivation.
|
|
- Use wsdl2h -g to generate top-level root elements with readers and writers.
|
|
- Use wsdl2h -U to map XML names to C++ Unicode identifiers instead of _xNNNN.
|
|
- Use wsdl2h -u to disable the generation of unions.
|
|
- Use wsdl2h -L to remove this @note and all other @note comments.
|
|
- Use wsdl2h -nname to use name as the base namespace prefix instead of 'ns'.
|
|
- Use wsdl2h -Nname for service prefix and produce multiple service bindings
|
|
- Struct/class members serialized as XML attributes are annotated with a '@'.
|
|
- Struct/class members that have a special role are annotated with a '$'.
|
|
|
|
@warning
|
|
DO NOT INCLUDE THIS ANNOTATED FILE DIRECTLY IN YOUR PROJECT SOURCE CODE.
|
|
USE THE FILES GENERATED BY soapcpp2 FOR YOUR PROJECT'S SOURCE CODE:
|
|
THE GENERATED soapStub.h FILE CONTAINS THIS CONTENT WITHOUT ANNOTATIONS.
|
|
|
|
@copyright LICENSE:
|
|
@verbatim
|
|
--------------------------------------------------------------------------------
|
|
gSOAP XML Web services tools
|
|
Copyright (C) 2000,2024, Robert van Engelen, Genivia Inc. All Rights Reserved.
|
|
The wsdl2h tool and its generated software are released under the GPL.
|
|
This software is released under the GPL with the additional exemption that
|
|
compiling, linking, and/or using OpenSSL is allowed.
|
|
--------------------------------------------------------------------------------
|
|
GPL license.
|
|
|
|
This program is free software; you can redistribute it and/or modify it under
|
|
the terms of the GNU General Public License as published by the Free Software
|
|
Foundation; either version 2 of the License, or (at your option) any later
|
|
version.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along with
|
|
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
|
Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
Author contact information:
|
|
engelen@genivia.com / engelen@acm.org
|
|
|
|
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
|
|
--------------------------------------------------------------------------------
|
|
@endverbatim
|
|
|
|
*/
|
|
|
|
|
|
//gsoapopt c++,w
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Definitions *
|
|
* http://www.onvif.org/ver10/network/wsdl *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* $CONTAINER typemap variable: *
|
|
* std::vector *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
#include <vector>
|
|
template <class T> class std::vector;
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* $SIZE typemap variable: *
|
|
* int *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Import *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
#import "wsdd10.h" // wsdd10 = <http://schemas.xmlsoap.org/ws/2005/04/discovery>
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Schema Namespaces *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/* NOTE:
|
|
|
|
It is strongly recommended to customize the names of the namespace prefixes
|
|
generated by wsdl2h. To do so, modify the prefix bindings below and add the
|
|
modified lines to 'typemap.dat' then rerun wsdl2h (use wsdl2h -t typemap.dat):
|
|
|
|
tdn = "http://www.onvif.org/ver10/network/wsdl"
|
|
|
|
*/
|
|
|
|
#define SOAP_NAMESPACE_OF_tdn "http://www.onvif.org/ver10/network/wsdl"
|
|
//gsoap tdn schema namespace: http://www.onvif.org/ver10/network/wsdl
|
|
//gsoap tdn schema elementForm: qualified
|
|
//gsoap tdn schema attributeForm: unqualified
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Built-in Schema Types and Top-Level Elements and Attributes *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Forward Declarations *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Schema Types and Top-Level Elements and Attributes *
|
|
* http://www.onvif.org/ver10/network/wsdl *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Schema Complex Types and Top-Level Elements *
|
|
* http://www.onvif.org/ver10/network/wsdl *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Additional Top-Level Elements *
|
|
* http://www.onvif.org/ver10/network/wsdl *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
/// @brief Top-level root element "http://www.onvif.org/ver10/network/wsdl":Hello of type "http://schemas.xmlsoap.org/ws/2005/04/discovery":HelloType.
|
|
/// @note Use wsdl2h option -g to auto-generate a top-level root element declaration.
|
|
|
|
/// @brief Top-level root element "http://www.onvif.org/ver10/network/wsdl":HelloResponse of type "http://schemas.xmlsoap.org/ws/2005/04/discovery":ResolveType.
|
|
/// @note Use wsdl2h option -g to auto-generate a top-level root element declaration.
|
|
|
|
/// @brief Top-level root element "http://www.onvif.org/ver10/network/wsdl":Probe of type "http://schemas.xmlsoap.org/ws/2005/04/discovery":ProbeType.
|
|
/// @note Use wsdl2h option -g to auto-generate a top-level root element declaration.
|
|
|
|
/// @brief Top-level root element "http://www.onvif.org/ver10/network/wsdl":ProbeResponse of type "http://schemas.xmlsoap.org/ws/2005/04/discovery":ProbeMatchesType.
|
|
/// @note Use wsdl2h option -g to auto-generate a top-level root element declaration.
|
|
|
|
/// @brief Top-level root element "http://www.onvif.org/ver10/network/wsdl":Bye of type "http://schemas.xmlsoap.org/ws/2005/04/discovery":ByeType.
|
|
/// @note Use wsdl2h option -g to auto-generate a top-level root element declaration.
|
|
|
|
/// @brief Top-level root element "http://www.onvif.org/ver10/network/wsdl":ByeResponse of type "http://schemas.xmlsoap.org/ws/2005/04/discovery":ResolveType.
|
|
/// @note Use wsdl2h option -g to auto-generate a top-level root element declaration.
|
|
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Additional Top-Level Attributes *
|
|
* http://www.onvif.org/ver10/network/wsdl *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Services *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
// This service supports SOAP 1.2 namespaces:
|
|
#import "soap12.h"
|
|
|
|
//gsoap tdn service name: RemoteDiscoveryBinding
|
|
//gsoap tdn service type: RemoteDiscoveryPort
|
|
//gsoap tdn service namespace: http://www.onvif.org/ver10/network/wsdl
|
|
//gsoap tdn service transport: http://schemas.xmlsoap.org/soap/http
|
|
|
|
/** @mainpage Service Definitions
|
|
|
|
@section Service_bindings Service Bindings
|
|
|
|
- @ref RemoteDiscoveryBinding
|
|
|
|
@section Service_more More Information
|
|
|
|
- @ref page_notes "Notes"
|
|
|
|
- @ref page_XMLDataBinding "XML Data Binding"
|
|
|
|
- @ref SOAP_ENV__Header "SOAP Header Content" (when applicable)
|
|
|
|
- @ref SOAP_ENV__Detail "SOAP Fault Detail Content" (when applicable)
|
|
|
|
|
|
*/
|
|
|
|
/** @page RemoteDiscoveryBinding Binding "RemoteDiscoveryBinding"
|
|
|
|
@section RemoteDiscoveryBinding_operations Operations of Binding "RemoteDiscoveryBinding"
|
|
|
|
- @ref __tdn__Hello
|
|
|
|
- @ref __tdn__Bye
|
|
|
|
- @ref __tdn__Probe
|
|
|
|
@section RemoteDiscoveryBinding_ports Default endpoints of Binding "RemoteDiscoveryBinding"
|
|
|
|
@note Multiple service bindings collected as one, use wsdl2h option -Nname to produce a separate service for each binding
|
|
|
|
|
|
*/
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Service Binding *
|
|
* RemoteDiscoveryBinding *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Service Operation *
|
|
* __tdn__Hello *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/** Operation "__tdn__Hello" of service binding "RemoteDiscoveryBinding".
|
|
|
|
- SOAP document/literal style messaging
|
|
|
|
- Default SOAP action or REST location path:
|
|
- "http://www.onvif.org/ver10/network/wsdl/Hello"
|
|
|
|
- Addressing input action: "http://www.onvif.org/ver10/network/wsdl/Hello"
|
|
|
|
- Addressing output action: "http://www.onvif.org/ver10/network/wsdl/HelloResponse"
|
|
|
|
C stub function (defined in soapClient.c[pp] generated by soapcpp2):
|
|
@code
|
|
int soap_call___tdn__Hello(
|
|
struct soap *soap,
|
|
NULL, // char *endpoint = NULL selects default endpoint for this operation
|
|
NULL, // char *action = NULL selects default action for this operation
|
|
// input parameters:
|
|
wsdd__HelloType tdn__Hello,
|
|
// output parameters:
|
|
wsdd__ResolveType &tdn__HelloResponse
|
|
);
|
|
@endcode
|
|
|
|
C server function (called from the service dispatcher defined in soapServer.c[pp]):
|
|
@code
|
|
int __tdn__Hello(
|
|
struct soap *soap,
|
|
// input parameters:
|
|
wsdd__HelloType tdn__Hello,
|
|
// output parameters:
|
|
wsdd__ResolveType &tdn__HelloResponse
|
|
);
|
|
@endcode
|
|
|
|
C++ proxy class (defined in soapRemoteDiscoveryBindingProxy.h generated with soapcpp2):
|
|
@code
|
|
class RemoteDiscoveryBindingProxy;
|
|
@endcode
|
|
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use proxy classes;
|
|
|
|
C++ service class (defined in soapRemoteDiscoveryBindingService.h generated with soapcpp2):
|
|
@code
|
|
class RemoteDiscoveryBindingService;
|
|
@endcode
|
|
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use service classes;
|
|
|
|
*/
|
|
|
|
//gsoap tdn service method-protocol: Hello SOAP
|
|
//gsoap tdn service method-style: Hello document
|
|
//gsoap tdn service method-encoding: Hello literal
|
|
//gsoap tdn service method-input-action: Hello http://www.onvif.org/ver10/network/wsdl/Hello
|
|
//gsoap tdn service method-output-action: Hello http://www.onvif.org/ver10/network/wsdl/HelloResponse
|
|
int __tdn__Hello(
|
|
wsdd__HelloType tdn__Hello, ///< Input parameter
|
|
wsdd__ResolveType &tdn__HelloResponse ///< Output parameter
|
|
);
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Service Operation *
|
|
* __tdn__Bye *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/** Operation "__tdn__Bye" of service binding "RemoteDiscoveryBinding".
|
|
|
|
- SOAP document/literal style messaging
|
|
|
|
- Default SOAP action or REST location path:
|
|
- "http://www.onvif.org/ver10/network/wsdl/Bye"
|
|
|
|
- Addressing input action: "http://www.onvif.org/ver10/network/wsdl/Bye"
|
|
|
|
- Addressing output action: "http://www.onvif.org/ver10/network/wsdl/ByeResponse"
|
|
|
|
C stub function (defined in soapClient.c[pp] generated by soapcpp2):
|
|
@code
|
|
int soap_call___tdn__Bye(
|
|
struct soap *soap,
|
|
NULL, // char *endpoint = NULL selects default endpoint for this operation
|
|
NULL, // char *action = NULL selects default action for this operation
|
|
// input parameters:
|
|
wsdd__ByeType tdn__Bye,
|
|
// output parameters:
|
|
wsdd__ResolveType &tdn__ByeResponse
|
|
);
|
|
@endcode
|
|
|
|
C server function (called from the service dispatcher defined in soapServer.c[pp]):
|
|
@code
|
|
int __tdn__Bye(
|
|
struct soap *soap,
|
|
// input parameters:
|
|
wsdd__ByeType tdn__Bye,
|
|
// output parameters:
|
|
wsdd__ResolveType &tdn__ByeResponse
|
|
);
|
|
@endcode
|
|
|
|
C++ proxy class (defined in soapRemoteDiscoveryBindingProxy.h generated with soapcpp2):
|
|
@code
|
|
class RemoteDiscoveryBindingProxy;
|
|
@endcode
|
|
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use proxy classes;
|
|
|
|
C++ service class (defined in soapRemoteDiscoveryBindingService.h generated with soapcpp2):
|
|
@code
|
|
class RemoteDiscoveryBindingService;
|
|
@endcode
|
|
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use service classes;
|
|
|
|
*/
|
|
|
|
//gsoap tdn service method-protocol: Bye SOAP
|
|
//gsoap tdn service method-style: Bye document
|
|
//gsoap tdn service method-encoding: Bye literal
|
|
//gsoap tdn service method-input-action: Bye http://www.onvif.org/ver10/network/wsdl/Bye
|
|
//gsoap tdn service method-output-action: Bye http://www.onvif.org/ver10/network/wsdl/ByeResponse
|
|
int __tdn__Bye(
|
|
wsdd__ByeType tdn__Bye, ///< Input parameter
|
|
wsdd__ResolveType &tdn__ByeResponse ///< Output parameter
|
|
);
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* Service Operation *
|
|
* __tdn__Probe *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/** Operation "__tdn__Probe" of service binding "RemoteDiscoveryBinding".
|
|
|
|
- SOAP document/literal style messaging
|
|
|
|
- Default SOAP action or REST location path:
|
|
- "http://www.onvif.org/ver10/network/wsdl/Probe"
|
|
|
|
- Addressing input action: "http://www.onvif.org/ver10/network/wsdl/Probe"
|
|
|
|
- Addressing output action: "http://www.onvif.org/ver10/network/wsdl/ProbeResponse"
|
|
|
|
C stub function (defined in soapClient.c[pp] generated by soapcpp2):
|
|
@code
|
|
int soap_call___tdn__Probe(
|
|
struct soap *soap,
|
|
NULL, // char *endpoint = NULL selects default endpoint for this operation
|
|
NULL, // char *action = NULL selects default action for this operation
|
|
// input parameters:
|
|
wsdd__ProbeType tdn__Probe,
|
|
// output parameters:
|
|
wsdd__ProbeMatchesType &tdn__ProbeResponse
|
|
);
|
|
@endcode
|
|
|
|
C server function (called from the service dispatcher defined in soapServer.c[pp]):
|
|
@code
|
|
int __tdn__Probe(
|
|
struct soap *soap,
|
|
// input parameters:
|
|
wsdd__ProbeType tdn__Probe,
|
|
// output parameters:
|
|
wsdd__ProbeMatchesType &tdn__ProbeResponse
|
|
);
|
|
@endcode
|
|
|
|
C++ proxy class (defined in soapRemoteDiscoveryBindingProxy.h generated with soapcpp2):
|
|
@code
|
|
class RemoteDiscoveryBindingProxy;
|
|
@endcode
|
|
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use proxy classes;
|
|
|
|
C++ service class (defined in soapRemoteDiscoveryBindingService.h generated with soapcpp2):
|
|
@code
|
|
class RemoteDiscoveryBindingService;
|
|
@endcode
|
|
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use service classes;
|
|
|
|
*/
|
|
|
|
//gsoap tdn service method-protocol: Probe SOAP
|
|
//gsoap tdn service method-style: Probe document
|
|
//gsoap tdn service method-encoding: Probe literal
|
|
//gsoap tdn service method-input-action: Probe http://www.onvif.org/ver10/network/wsdl/Probe
|
|
//gsoap tdn service method-output-action: Probe http://www.onvif.org/ver10/network/wsdl/ProbeResponse
|
|
int __tdn__Probe(
|
|
wsdd__ProbeType tdn__Probe, ///< Input parameter
|
|
wsdd__ProbeMatchesType &tdn__ProbeResponse ///< Output parameter
|
|
);
|
|
|
|
/** @page RemoteDiscoveryBinding Binding "RemoteDiscoveryBinding"
|
|
|
|
@section RemoteDiscoveryBinding_policy_enablers Policy Enablers of Binding "RemoteDiscoveryBinding"
|
|
|
|
None specified.
|
|
|
|
*/
|
|
|
|
/******************************************************************************\
|
|
* *
|
|
* XML Data Binding *
|
|
* *
|
|
\******************************************************************************/
|
|
|
|
|
|
/** @page page_XMLDataBinding XML Data Binding
|
|
|
|
SOAP/XML services use data bindings that are contractually bound by WSDLs and
|
|
are auto-generated by wsdl2h and soapcpp2 (see Service Bindings). Plain data
|
|
bindings are adopted from XML schemas as part of the WSDL types section or when
|
|
running wsdl2h on a set of schemas to produce non-SOAP-based XML data bindings.
|
|
|
|
@note The following readers and writers are C/C++ data type (de)serializers
|
|
auto-generated by wsdl2h and soapcpp2. Run soapcpp2 on this file to generate the
|
|
(de)serialization code, which is stored in soapC.c[pp]. Include "soapH.h" in
|
|
your code to import these data type and function declarations. Only use the
|
|
soapcpp2-generated files in your project build. Do not include the wsdl2h-
|
|
generated .h file in your code.
|
|
|
|
@note Data can be read and deserialized from:
|
|
- an int file descriptor, using soap->recvfd = fd
|
|
- a socket, using soap->socket = (int)...
|
|
- a C++ stream (istream, stringstream), using soap->is = (istream*)...
|
|
- a C string, using soap->is = (const char*)...
|
|
- any input, using the soap->frecv() callback
|
|
|
|
@note Data can be serialized and written to:
|
|
- an int file descriptor, using soap->sendfd = (int)...
|
|
- a socket, using soap->socket = (int)...
|
|
- a C++ stream (ostream, stringstream), using soap->os = (ostream*)...
|
|
- a C string, using soap->os = (const char**)...
|
|
- any output, using the soap->fsend() callback
|
|
|
|
@note The following options are available for (de)serialization control:
|
|
- soap->encodingStyle = NULL; to remove SOAP 1.1/1.2 encodingStyle
|
|
- soap_set_mode(soap, SOAP_XML_TREE); XML without id-ref (no cycles!)
|
|
- soap_set_mode(soap, SOAP_XML_GRAPH); XML with id-ref (including cycles)
|
|
- soap_set_namespaces(soap, struct Namespace *nsmap); to set xmlns bindings
|
|
|
|
|
|
*/
|
|
|
|
/**
|
|
|
|
@section tdn Top-level root elements of schema "http://www.onvif.org/ver10/network/wsdl"
|
|
|
|
- <tdn:Hello> (use wsdl2h option -g to auto-generate type _tdn__Hello)
|
|
|
|
- <tdn:HelloResponse> (use wsdl2h option -g to auto-generate type _tdn__HelloResponse)
|
|
|
|
- <tdn:Probe> (use wsdl2h option -g to auto-generate type _tdn__Probe)
|
|
|
|
- <tdn:ProbeResponse> (use wsdl2h option -g to auto-generate type _tdn__ProbeResponse)
|
|
|
|
- <tdn:Bye> (use wsdl2h option -g to auto-generate type _tdn__Bye)
|
|
|
|
- <tdn:ByeResponse> (use wsdl2h option -g to auto-generate type _tdn__ByeResponse)
|
|
|
|
*/
|
|
|
|
/* End of onvif.h */
|