From 2c6659930ab872df5e890fbdc22888f3a40fd6d5 Mon Sep 17 00:00:00 2001 From: Siddharth Purohit Date: Wed, 23 Jun 2021 22:14:26 +0530 Subject: [PATCH] AP_ONVIF: remove dependency on C++ STL and std::string --- libraries/AP_ONVIF/AP_ONVIF.cpp | 391 +++--- libraries/AP_ONVIF/AP_ONVIF.h | 23 +- libraries/AP_ONVIF/onvifhelpers.h | 9 + libraries/AP_ONVIF/sha1.cpp | 1 + libraries/AP_ONVIF/soap/onvif.h | 1175 ++++++++++------- .../AP_ONVIF/soap/update_onvif_wsdl2h.sh | 4 +- 6 files changed, 989 insertions(+), 614 deletions(-) diff --git a/libraries/AP_ONVIF/AP_ONVIF.cpp b/libraries/AP_ONVIF/AP_ONVIF.cpp index a91d64f2fb..3c25c431a7 100644 --- a/libraries/AP_ONVIF/AP_ONVIF.cpp +++ b/libraries/AP_ONVIF/AP_ONVIF.cpp @@ -22,18 +22,27 @@ #include "onvifhelpers.h" // For ChibiOS we will use HW RND # generator #include //rand() +#include -#ifndef PRINT -#define PRINT(fmt,args...) do {printf(fmt "\n", ## args); } while(0) +extern const AP_HAL::HAL &hal; + +#if 0 +#define DEBUG_PRINT(fmt,args...) do {GCS_SEND_TEXT(MAV_SEVERITY_INFO ,"AP_ONVIF:" fmt "\n", ## args); } while(0) +#else +#define DEBUG_PRINT(fmt,args...) #endif +#define ERROR_PRINT(fmt,args...) do {GCS_SEND_TEXT(MAV_SEVERITY_ERROR , "AP_ONVIF:" fmt "\n", ## args); } while(0) + const char *wsse_PasswordDigestURI = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"; const char *wsse_Base64BinaryURI = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"; AP_ONVIF *AP_ONVIF::_singleton; -extern const AP_HAL::HAL &hal; static AP_ONVIF onvif; +#define DEVICE_ENDPOINT_LOC "/onvif/device_service" +#define MEDIA_ENDPOINT_LOC "/onvif/media_service" +#define PTZ_ENDPOINT_LOC "/onvif/ptz_service" // Default constructor AP_ONVIF::AP_ONVIF() { @@ -49,16 +58,27 @@ bool AP_ONVIF::start(const char *user, const char *pass, const char *httphostnam if (!initialised) { srand ((time_t)(hal.util->get_hw_rtc()/1000000ULL)); soap = soap_new1(SOAP_XML_CANONICAL | SOAP_C_UTFSTRING); + if (soap == nullptr) { + ERROR_PRINT("AP_ONVIF: Failed to allocate soap"); + return false; + } soap->connect_timeout = soap->recv_timeout = soap->send_timeout = 30; // 30 sec - proxy_device = new DeviceBindingProxy(soap); - proxy_media = new MediaBindingProxy(soap); - proxy_ptz = new PTZBindingProxy(soap); + if (proxy_device == nullptr) { + proxy_device = new DeviceBindingProxy(soap); + } + if (proxy_media == nullptr) { + proxy_media = new MediaBindingProxy(soap); + } + if (proxy_ptz == nullptr) { + proxy_ptz = new PTZBindingProxy(soap); + } if (proxy_device == nullptr || proxy_media == nullptr || proxy_ptz == nullptr) { - AP_HAL::panic("AP_ONVIF: Failed to allocate gSOAP Proxy objects."); + ERROR_PRINT("AP_ONVIF: Failed to allocate gSOAP Proxy objects."); + return false; } initialised = true; } @@ -66,15 +86,33 @@ bool AP_ONVIF::start(const char *user, const char *pass, const char *httphostnam username = user; password = pass; hostname = httphostname; - - DEVICE_ENDPOINT = hostname + "/onvif/device_service"; - MEDIA_ENDPOINT = hostname + "/onvif/media_service"; - PTZ_ENDPOINT = hostname + "/onvif/ptz_service"; + + if (device_endpoint == nullptr) { + device_endpoint = (char*)malloc(strlen(hostname) + strlen(DEVICE_ENDPOINT_LOC) + 1); + } + if (media_endpoint == nullptr) { + media_endpoint = (char*)malloc(strlen(hostname) + strlen(MEDIA_ENDPOINT_LOC) + 1); + } + if (ptz_endpoint == nullptr) { + ptz_endpoint = (char*)malloc(strlen(hostname) + strlen(PTZ_ENDPOINT_LOC) + 1); + } + + if (device_endpoint == nullptr || + media_endpoint == nullptr || + ptz_endpoint == nullptr) { + ERROR_PRINT("Failed to Allocate endpoint strings"); + return false; + } + + snprintf(device_endpoint, strlen(hostname) + strlen(DEVICE_ENDPOINT_LOC) + 1, "%s" DEVICE_ENDPOINT_LOC, hostname); + snprintf(media_endpoint, strlen(hostname) + strlen(MEDIA_ENDPOINT_LOC) + 1, "%s" MEDIA_ENDPOINT_LOC, hostname); + snprintf(ptz_endpoint, strlen(hostname) + strlen(PTZ_ENDPOINT_LOC) + 1, "%s" PTZ_ENDPOINT_LOC, hostname); + /// TODO: Need to find a way to store this in parameter system // or it could be just storage, we will see - proxy_device->soap_endpoint = DEVICE_ENDPOINT.c_str(); + proxy_device->soap_endpoint = device_endpoint; if (!probe_onvif_server()) { - PRINT("Failed to probe onvif server."); + ERROR_PRINT("Failed to probe onvif server."); return false; } @@ -83,9 +121,9 @@ bool AP_ONVIF::start(const char *user, const char *pass, const char *httphostnam void AP_ONVIF::report_error() { - PRINT("ONVIF ERROR:\n"); + ERROR_PRINT("ONVIF ERROR:"); if (soap_check_state(soap)) { - PRINT("Error: soap struct state not initialized"); + ERROR_PRINT("Error: soap struct state not initialized"); } else if (soap->error) { const char **c, *v = NULL, *s, *d; c = soap_faultcode(soap); @@ -98,7 +136,7 @@ void AP_ONVIF::report_error() } s = soap_fault_string(soap); d = soap_fault_detail(soap); - PRINT("%s%d fault %s [%s]\n%s\nDetail: %s",(soap->version ? "SOAP 1." : "Error "), + ERROR_PRINT("%s%d fault %s [%s]\n%s\nDetail: %s",(soap->version ? "SOAP 1." : "Error "), (soap->version ? (int)soap->version : soap->error), *c, (v ? v : "no subcode"), (s ? s : "[no reason]"), (d ? d : "[no detail]")); @@ -108,148 +146,177 @@ void AP_ONVIF::report_error() // detect onvif server present on the network bool AP_ONVIF::probe_onvif_server() { - _tds__GetDeviceInformation GetDeviceInformation; - _tds__GetDeviceInformationResponse GetDeviceInformationResponse; - set_credentials(); - if (proxy_device->GetDeviceInformation(&GetDeviceInformation, GetDeviceInformationResponse)) { - PRINT("Failed to fetch Device Information"); - report_error(); - return false; - } + { + _tds__GetDeviceInformation GetDeviceInformation; + _tds__GetDeviceInformationResponse GetDeviceInformationResponse; + if (!set_credentials()) { + ERROR_PRINT("Failed to setup credentials"); + goto err; + } + if (proxy_device->GetDeviceInformation(&GetDeviceInformation, GetDeviceInformationResponse)) { + ERROR_PRINT("Failed to fetch Device Information"); + report_error(); + goto err; + } - PRINT("Manufacturer: %s",GetDeviceInformationResponse.Manufacturer.c_str()); - PRINT("Model: %s",GetDeviceInformationResponse.Model.c_str()); - PRINT("FirmwareVersion: %s",GetDeviceInformationResponse.FirmwareVersion.c_str()); - PRINT("SerialNumber: %s",GetDeviceInformationResponse.SerialNumber.c_str()); - PRINT("HardwareId: %s",GetDeviceInformationResponse.HardwareId.c_str()); + DEBUG_PRINT("Manufacturer: %s",GetDeviceInformationResponse.Manufacturer); + DEBUG_PRINT("Model: %s",GetDeviceInformationResponse.Model); + DEBUG_PRINT("FirmwareVersion: %s",GetDeviceInformationResponse.FirmwareVersion); + DEBUG_PRINT("SerialNumber: %s",GetDeviceInformationResponse.SerialNumber); + DEBUG_PRINT("HardwareId: %s",GetDeviceInformationResponse.HardwareId); + } // get device capabilities and print media - _tds__GetCapabilities GetCapabilities; - _tds__GetCapabilitiesResponse GetCapabilitiesResponse; - set_credentials(); - if (proxy_device->GetCapabilities(&GetCapabilities, GetCapabilitiesResponse)) { - PRINT("Failed to fetch Device Capabilities"); - report_error(); - return false; - } + { + _tds__GetCapabilities GetCapabilities; + _tds__GetCapabilitiesResponse GetCapabilitiesResponse; + if (!set_credentials()) { + ERROR_PRINT("Failed to setup credentials"); + goto err; + } + if (proxy_device->GetCapabilities(&GetCapabilities, GetCapabilitiesResponse)) { + ERROR_PRINT("Failed to fetch Device Capabilities"); + report_error(); + goto err; + } - if (!GetCapabilitiesResponse.Capabilities || !GetCapabilitiesResponse.Capabilities->Media) { - PRINT("Missing device capabilities info"); - } else { - PRINT("XAddr: %s", GetCapabilitiesResponse.Capabilities->Media->XAddr.c_str()); - if (GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities) { - if (GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTPMulticast) { - PRINT("RTPMulticast: %s",(*GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTPMulticast ? "yes" : "no")); - } - if (GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTP_USCORETCP) { - PRINT("RTP_TCP: %s", (*GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTP_USCORETCP ? "yes" : "no")); - } - if (GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTP_USCORERTSP_USCORETCP) { - PRINT("RTP_RTSP_TCP: %s", (*GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTP_USCORERTSP_USCORETCP ? "yes" : "no")); + if (!GetCapabilitiesResponse.Capabilities || !GetCapabilitiesResponse.Capabilities->Media) { + ERROR_PRINT("Missing device capabilities info"); + goto err; + } else { + DEBUG_PRINT("XAddr: %s", GetCapabilitiesResponse.Capabilities->Media->XAddr); + if (GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities) { + if (GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTPMulticast) { + DEBUG_PRINT("RTPMulticast: %s",(*GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTPMulticast ? "yes" : "no")); + } + if (GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTP_USCORETCP) { + DEBUG_PRINT("RTP_TCP: %s", (*GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTP_USCORETCP ? "yes" : "no")); + } + if (GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTP_USCORERTSP_USCORETCP) { + DEBUG_PRINT("RTP_RTSP_TCP: %s", (*GetCapabilitiesResponse.Capabilities->Media->StreamingCapabilities->RTP_USCORERTSP_USCORETCP ? "yes" : "no")); + } } } - } - // set the Media proxy endpoint to XAddr - proxy_media->soap_endpoint = MEDIA_ENDPOINT.c_str(); + // set the Media proxy endpoint to XAddr + proxy_media->soap_endpoint = media_endpoint; + } // get device profiles - _trt__GetProfiles GetProfiles; - _trt__GetProfilesResponse GetProfilesResponse; - set_credentials(); - if (proxy_media->GetProfiles(&GetProfiles, GetProfilesResponse)){ - PRINT("Failed to fetch profiles"); - report_error(); - return false; - } - - if (GetProfilesResponse.Profiles.size()) { - PRINT("Profiles Received %lu", GetProfilesResponse.Profiles.size()); - } else { - PRINT("Error: No Profiles Received"); - return false; - } - - // for each profile get snapshot - for (uint32_t i = 0; i < GetProfilesResponse.Profiles.size(); i++) { - PRINT("Profile name: %s", GetProfilesResponse.Profiles[i]->Name.c_str()); - } - - // Just use first one for now - profile_token = GetProfilesResponse.Profiles[0]->token; + { + _trt__GetProfiles GetProfiles; + _trt__GetProfilesResponse GetProfilesResponse; + if (!set_credentials()) { + ERROR_PRINT("Failed to setup credentials"); + goto err; + } + if (proxy_media->GetProfiles(&GetProfiles, GetProfilesResponse)){ + ERROR_PRINT("Failed to fetch profiles"); + report_error(); + goto err; + } + + if (GetProfilesResponse.__sizeProfiles > 0) { + DEBUG_PRINT("Profiles Received %lu", (unsigned long)GetProfilesResponse.__sizeProfiles); + } else { + ERROR_PRINT("Error: No Profiles Received"); + goto err; + } + + // for each profile get snapshot + for (uint32_t i = 0; i < (uint32_t)GetProfilesResponse.__sizeProfiles; i++) { + DEBUG_PRINT("Profile name: %s", GetProfilesResponse.Profiles[i]->Name); + } + + // Just use first one for now + if (profile_token_size < (strlen(GetProfilesResponse.Profiles[0]->token) + 1)) { + if (profile_token != nullptr) { + free(profile_token); + } + profile_token = (char*)malloc(strlen(GetProfilesResponse.Profiles[0]->token) + 1); + profile_token_size = strlen(GetProfilesResponse.Profiles[0]->token) + 1; + if (profile_token == nullptr) { + goto err; + } + } - proxy_ptz->soap_endpoint = PTZ_ENDPOINT.c_str(); + strcpy(profile_token, GetProfilesResponse.Profiles[0]->token); - // _tptz__GetServiceCapabilities GetCapabilities; - // _tptz__GetServiceCapabilitiesResponse GetCapabilitiesResponse; - // GetCapabilities.Category = tt__CapabilityCategory__PTZ; - // set_credentials(); - // if (proxy_ptz->GetServiceCapabilities(&GetCapabilities, GetCapabilitiesResponse)) { - // PRINT("Failed to fetch PTZ Capabilities"); - // report_error(); - // return false; - // } - // if (!GetCapabilitiesResponse.Capabilities) { - - // } - // GetCapabilitiesResponse.Capabilities->PTZ + proxy_ptz->soap_endpoint = ptz_endpoint; + } // get PTZ Token - _tptz__GetConfigurations GetConfigurations; - _tptz__GetConfigurationsResponse GetConfigurationsResponse; - set_credentials(); - if (proxy_ptz->GetConfigurations(&GetConfigurations, GetConfigurationsResponse)) { - PRINT("Failed to fetch Configurations"); - report_error(); - return false; - } - - if (GetConfigurationsResponse.PTZConfiguration.size()) { - PRINT("PTZ Tokens Received"); - } else { - PRINT("Error: No Profiles Received"); - return false; - } - - for (uint32_t i = 0; i < GetConfigurationsResponse.PTZConfiguration.size(); i++) { - PRINT("PTZ: %s", GetConfigurationsResponse.PTZConfiguration[i]->Name.c_str()); - } - //GetConfigurationsResponse.PTZConfiguration[0]->token - pan_tilt_limit_max = Vector2f(GetConfigurationsResponse.PTZConfiguration[0]->PanTiltLimits->Range->XRange->Max, - GetConfigurationsResponse.PTZConfiguration[0]->PanTiltLimits->Range->YRange->Max); - pan_tilt_limit_min = Vector2f(GetConfigurationsResponse.PTZConfiguration[0]->PanTiltLimits->Range->XRange->Min, - GetConfigurationsResponse.PTZConfiguration[0]->PanTiltLimits->Range->YRange->Min); - zoom_min = GetConfigurationsResponse.PTZConfiguration[0]->ZoomLimits->Range->XRange->Min; - zoom_max = GetConfigurationsResponse.PTZConfiguration[0]->ZoomLimits->Range->XRange->Max; + { + _tptz__GetConfigurations GetConfigurations; + _tptz__GetConfigurationsResponse GetConfigurationsResponse; + if (!set_credentials()) { + ERROR_PRINT("Failed to setup credentials"); + goto err; + } + if (proxy_ptz->GetConfigurations(&GetConfigurations, GetConfigurationsResponse)) { + ERROR_PRINT("Failed to fetch Configurations"); + report_error(); + goto err; + } + + if (GetConfigurationsResponse.__sizePTZConfiguration > 0) { + DEBUG_PRINT("PTZ Tokens Received"); + } else { + ERROR_PRINT("Error: No Profiles Received"); + goto err; + } + + for (uint32_t i = 0; i < (uint32_t)GetConfigurationsResponse.__sizePTZConfiguration; i++) { + DEBUG_PRINT("PTZ: %s", GetConfigurationsResponse.PTZConfiguration[i]->Name); + } + //GetConfigurationsResponse.PTZConfiguration[0]->token + pan_tilt_limit_max = Vector2f(GetConfigurationsResponse.PTZConfiguration[0]->PanTiltLimits->Range->XRange->Max, + GetConfigurationsResponse.PTZConfiguration[0]->PanTiltLimits->Range->YRange->Max); + pan_tilt_limit_min = Vector2f(GetConfigurationsResponse.PTZConfiguration[0]->PanTiltLimits->Range->XRange->Min, + GetConfigurationsResponse.PTZConfiguration[0]->PanTiltLimits->Range->YRange->Min); + zoom_min = GetConfigurationsResponse.PTZConfiguration[0]->ZoomLimits->Range->XRange->Min; + zoom_max = GetConfigurationsResponse.PTZConfiguration[0]->ZoomLimits->Range->XRange->Max; + + DEBUG_PRINT("Pan: %f %f Tilt: %f %f", pan_tilt_limit_min.x, pan_tilt_limit_max.x, + pan_tilt_limit_min.y, pan_tilt_limit_max.y); + } - PRINT("Pan: %f %f Tilt: %f %f", pan_tilt_limit_min.x, pan_tilt_limit_max.x, - pan_tilt_limit_min.y, pan_tilt_limit_max.y); // Get PTZ status - _tptz__GetStatus GetStatus; - _tptz__GetStatusResponse GetStatusResponse; - GetStatus.ProfileToken = profile_token; - set_credentials(); - if (proxy_ptz->GetStatus(&GetStatus, GetStatusResponse)) { - PRINT("Failed to recieve PTZ status"); - return false; - } + { + _tptz__GetStatus GetStatus; + _tptz__GetStatusResponse GetStatusResponse; - if (GetStatusResponse.PTZStatus->Error) { - PRINT("ErrorStatus: %s", GetStatusResponse.PTZStatus->Error->c_str()); + GetStatus.ProfileToken = profile_token; + if (!set_credentials()) { + ERROR_PRINT("Failed to setup credentials"); + goto err; + } + if (proxy_ptz->GetStatus(&GetStatus, GetStatusResponse)) { + DEBUG_PRINT("Failed to recieve PTZ status"); + goto err; + } + + if (GetStatusResponse.PTZStatus->Error) { + DEBUG_PRINT("ErrorStatus: %s", GetStatusResponse.PTZStatus->Error); + } + if (GetStatusResponse.PTZStatus->MoveStatus->PanTilt) { + DEBUG_PRINT("PTStatus: %d", *GetStatusResponse.PTZStatus->MoveStatus->PanTilt); + } + if (GetStatusResponse.PTZStatus->MoveStatus->Zoom) { + DEBUG_PRINT("ZoomStatus: %d", *GetStatusResponse.PTZStatus->MoveStatus->Zoom); + } + DEBUG_PRINT("Pan: %f Tilt: %f", GetStatusResponse.PTZStatus->Position->PanTilt->x, + GetStatusResponse.PTZStatus->Position->PanTilt->y); + DEBUG_PRINT("Zoom: %f", GetStatusResponse.PTZStatus->Position->Zoom->x); } - if (GetStatusResponse.PTZStatus->MoveStatus->PanTilt) { - PRINT("PTStatus: %d", *GetStatusResponse.PTZStatus->MoveStatus->PanTilt); - } - if (GetStatusResponse.PTZStatus->MoveStatus->Zoom) { - PRINT("ZoomStatus: %d", *GetStatusResponse.PTZStatus->MoveStatus->Zoom); - } - PRINT("Pan: %f Tilt: %f", GetStatusResponse.PTZStatus->Position->PanTilt->x, - GetStatusResponse.PTZStatus->Position->PanTilt->y); - PRINT("Zoom: %f", GetStatusResponse.PTZStatus->Position->Zoom->x); soap_destroy(soap); soap_end(soap); return true; +err: + soap_destroy(soap); + soap_end(soap); + return false; } // Generate Random Nonce value @@ -270,7 +337,7 @@ void AP_ONVIF::rand_nonce(char *nonce, size_t noncelen) #define TEST_PASS "userpassword" #define TEST_RESULT "tuOSpGlFlIXsozq4HFNeeGeFLEI=" #define TEST 0 -void AP_ONVIF::set_credentials() +bool AP_ONVIF::set_credentials() { soap_wsse_delete_Security(soap); soap_wsse_add_Timestamp(soap, "Time", 60); @@ -295,25 +362,29 @@ void AP_ONVIF::set_credentials() sha1_hash((const unsigned char*)TEST_TIME, strlen(TEST_TIME), &ctx); sha1_hash((const unsigned char*)TEST_PASS, strlen(TEST_PASS), &ctx); nonceBase64 = (char*)base64_encode((unsigned char*)test_nonce, 16, &noncelen); - PRINT("Created:%s Hash64:%s", TEST_TIME, HABase64fin); + DEBUG_PRINT("Created:%s Hash64:%s", TEST_TIME, HABase64fin); #else sha1_hash((const unsigned char*)nonce, 16, &ctx); sha1_hash((const unsigned char*)created, strlen(created), &ctx); - sha1_hash((const unsigned char*)password.c_str(), strlen(password.c_str()), &ctx); + sha1_hash((const unsigned char*)password, strlen(password), &ctx); nonceBase64 = (char*)base64_encode((unsigned char*)nonce, 16, &noncelen); #endif sha1_end((unsigned char*)HA, &ctx); HABase64enc = (char*)base64_encode((unsigned char*)HA, SHA1_DIGEST_SIZE, &HABase64len); + if (HABase64enc == nullptr) { + return false; + } if (HABase64len > 29) { //things have gone truly bad time to panic - PRINT("Error: Invalid Base64 Encode!"); + ERROR_PRINT("Error: Invalid Base64 Encode!"); free(HABase64enc); - return; + return false; } memcpy(HABase64fin, HABase64enc, HABase64len); + free(HABase64enc); - if (soap_wsse_add_UsernameTokenText(soap, "Auth", username.c_str(), HABase64fin)) { + if (soap_wsse_add_UsernameTokenText(soap, "Auth", username, HABase64fin)) { report_error(); } /* populate the remainder of the password, nonce, and created */ @@ -322,12 +393,14 @@ void AP_ONVIF::set_credentials() security->UsernameToken->Salt = NULL; security->UsernameToken->Iteration = NULL; if (!security->UsernameToken->Nonce) { - return; + ERROR_PRINT("Failed to allocate NONCE"); + return false; } soap_default_wsse__EncodedString(soap, security->UsernameToken->Nonce); security->UsernameToken->Nonce->__item = nonceBase64; security->UsernameToken->Nonce->EncodingType = (char*)wsse_Base64BinaryURI; security->UsernameToken->wsu__Created = soap_strdup(soap, created); + return true; } // Turn ONVIF camera to mentioned pan, tilt and zoom, normalised @@ -337,26 +410,44 @@ bool AP_ONVIF::set_absolutemove(float x, float y, float z) _tptz__AbsoluteMove AbsoluteMove; _tptz__AbsoluteMoveResponse AbsoluteMoveResponse; AbsoluteMove.Position = soap_new_tt__PTZVector(soap); + if (AbsoluteMove.Position == nullptr) { + ERROR_PRINT("Failed to allocate AbsoluteMove.Position"); + goto err; + } AbsoluteMove.Position->PanTilt = soap_new_tt__Vector2D(soap); + if (AbsoluteMove.Position->PanTilt == nullptr) { + ERROR_PRINT("Failed to allocate AbsoluteMove.Position->PanTilt"); + goto err; + } AbsoluteMove.Position->Zoom = soap_new_tt__Vector1D(soap); + if (AbsoluteMove.Position->Zoom == nullptr) { + ERROR_PRINT("Failed to allocate AbsoluteMove.Position->Zoom"); + goto err; + } + AbsoluteMove.Position->PanTilt->x = constrain_float(x, pan_tilt_limit_min.x, pan_tilt_limit_max.x); AbsoluteMove.Position->PanTilt->y = constrain_float(y, pan_tilt_limit_min.y, pan_tilt_limit_max.y); AbsoluteMove.Position->Zoom->x = constrain_float(z, zoom_min, zoom_max); AbsoluteMove.Speed = NULL; AbsoluteMove.ProfileToken = profile_token; - // PRINT("Setting AbsoluteMove: %f %f %f", AbsoluteMove.Position->PanTilt->x, + // DEBUG_PRINT("Setting AbsoluteMove: %f %f %f", AbsoluteMove.Position->PanTilt->x, // AbsoluteMove.Position->PanTilt->y, // AbsoluteMove.Position->Zoom->x); - set_credentials(); + if (!set_credentials()) { + ERROR_PRINT("Failed to setup credentials"); + goto err; + } if (proxy_ptz->AbsoluteMove(&AbsoluteMove, AbsoluteMoveResponse)) { - PRINT("Failed to sent AbsoluteMove cmd"); + ERROR_PRINT("Failed to sent AbsoluteMove cmd"); report_error(); - soap_destroy(soap); - soap_end(soap); - return false; + goto err; } soap_destroy(soap); soap_end(soap); return true; +err: + soap_destroy(soap); + soap_end(soap); + return false; } #endif //#if ENABLE_ONVIF diff --git a/libraries/AP_ONVIF/AP_ONVIF.h b/libraries/AP_ONVIF/AP_ONVIF.h index f298f821b2..521ff10127 100644 --- a/libraries/AP_ONVIF/AP_ONVIF.h +++ b/libraries/AP_ONVIF/AP_ONVIF.h @@ -19,10 +19,13 @@ #include #if ENABLE_ONVIF +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wshadow" #include #include #include #include +#pragma pop #include class AP_ONVIF { @@ -52,7 +55,7 @@ public: private: // prepares security header of SOAP message going to be sent immmediately after - void set_credentials(); + bool set_credentials(); // convert error message from gSOAP lib into human readable string and print void report_error(); @@ -69,21 +72,21 @@ private: float last_pan_cmd, last_tilt_cmd; float zoom_min, zoom_max; - std::string profile_token; + char* profile_token; + size_t profile_token_size; struct soap *soap; DeviceBindingProxy *proxy_device; MediaBindingProxy *proxy_media; PTZBindingProxy *proxy_ptz; static AP_ONVIF *_singleton; + + const char* username; + const char* password; + const char* hostname; + + char* device_endpoint; char* media_endpoint; - - std::string username; - std::string password; - std::string hostname; - - std::string DEVICE_ENDPOINT; - std::string MEDIA_ENDPOINT; - std::string PTZ_ENDPOINT; + char* ptz_endpoint; bool initialised; }; diff --git a/libraries/AP_ONVIF/onvifhelpers.h b/libraries/AP_ONVIF/onvifhelpers.h index 5287bcb86c..805a5e14e1 100644 --- a/libraries/AP_ONVIF/onvifhelpers.h +++ b/libraries/AP_ONVIF/onvifhelpers.h @@ -41,6 +41,11 @@ #define SHA1_DIGEST_SIZE 20 + +#ifdef __cplusplus +extern "C" { +#endif + /* type to hold the SHA1 context */ typedef struct @@ -55,3 +60,7 @@ void sha1_end(unsigned char hval[], sha1_ctx ctx[1]); void sha1(unsigned char hval[], const unsigned char data[], unsigned long len); uint8_t* base64_encode(const uint8_t *src, uint16_t len, uint16_t *out_len); uint8_t* base64_decode(const uint8_t *src, uint16_t len, uint16_t *out_len); + +#ifdef __cplusplus +} +#endif diff --git a/libraries/AP_ONVIF/sha1.cpp b/libraries/AP_ONVIF/sha1.cpp index 6bd1b834d8..8f18a50fc6 100644 --- a/libraries/AP_ONVIF/sha1.cpp +++ b/libraries/AP_ONVIF/sha1.cpp @@ -36,6 +36,7 @@ #include /* for memcpy() etc. */ #include "onvifhelpers.h" +#include #ifdef __BYTE_ORDER #define SHA1_BLOCK_SIZE 64 diff --git a/libraries/AP_ONVIF/soap/onvif.h b/libraries/AP_ONVIF/soap/onvif.h index a3d36f606c..4813b5793b 100644 --- a/libraries/AP_ONVIF/soap/onvif.h +++ b/libraries/AP_ONVIF/soap/onvif.h @@ -1,7 +1,7 @@ // Reminder: Modify typemap.dat to customize the header file generated by wsdl2h /* onvif.h Generated by wsdl2h 2.8.114 from http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl http://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl and typemap.dat - 2021-06-04 14:23:31 GMT + 2021-06-23 15:17:02 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. @@ -96,16 +96,6 @@ A commercial-use license is available from Genivia, Inc., contact@genivia.com \******************************************************************************/ -/******************************************************************************\ - * * - * $CONTAINER typemap variable: * - * std::vector * - * * -\******************************************************************************/ - -#include -template class std::vector; - /******************************************************************************\ * * * $SIZE typemap variable: * @@ -199,9 +189,6 @@ class xsd__anyType /// Built-in type "SOAP-ENV:Envelope". struct SOAP_ENV__Envelope { struct SOAP_ENV__Header *SOAP_ENV__Header; _XML SOAP_ENV__Body; }; -/// Built-in type "xs:QName". -typedef std::string xsd__QName; - /// Built-in type "xs:base64Binary". class xsd__base64Binary { public: @@ -220,30 +207,30 @@ class xsd__hexBinary // Imported type ""http://www.w3.org/2005/08/addressing":EndpointReferenceType" defined by wsa5__EndpointReferenceType. /// Primitive built-in type "xs:NCName". -typedef std::string xsd__NCName; +typedef char* xsd__NCName; /// Primitive built-in type "xs:anySimpleType". -typedef std::string xsd__anySimpleType; +typedef char* xsd__anySimpleType; /// Primitive built-in type "xs:anyURI". -typedef std::string xsd__anyURI; +typedef char* xsd__anyURI; /// Primitive built-in type "xs:duration". -typedef std::string xsd__duration; +typedef char* xsd__duration; /// Primitive built-in type "xs:integer". -typedef std::string xsd__integer; +typedef char* xsd__integer; /// Primitive built-in type "xs:nonNegativeInteger". -typedef std::string xsd__nonNegativeInteger; +typedef char* xsd__nonNegativeInteger; /// Primitive built-in type "xs:token". -typedef std::string xsd__token; +typedef char* xsd__token; // Imported element ""http://www.w3.org/2004/08/xop/include":Include" declared as _xop__Include. /// Built-in attribute "xml:lang". -typedef std::string _xml__lang; +typedef char* _xml__lang; /******************************************************************************\ @@ -1683,7 +1670,7 @@ class _tptz__MoveAndStartTrackingResponse; /// @brief "http://www.onvif.org/ver10/device/wsdl":EAPMethodTypes is a simpleType containing a whitespace separated list of values of type xs:int. /// -typedef std::string tds__EAPMethodTypes; +typedef char* tds__EAPMethodTypes; /******************************************************************************\ @@ -1695,17 +1682,17 @@ typedef std::string tds__EAPMethodTypes; /// @brief "http://www.onvif.org/ver10/schema":IntAttrList is a simpleType containing a whitespace separated list of values of type xs:int. /// -typedef std::string tt__IntAttrList; +typedef char* tt__IntAttrList; // Optimization: simpleType "http://www.onvif.org/ver10/schema":FloatAttrList is not used and was removed /// @brief "http://www.onvif.org/ver10/schema":StringAttrList is a simpleType containing a whitespace separated list of values of type xs:string. /// -typedef std::string tt__StringAttrList; +typedef char* tt__StringAttrList; /// @brief "http://www.onvif.org/ver10/schema":StringList is a simpleType containing a whitespace separated list of values of type xs:string. /// -typedef std::string tt__StringList; +typedef char* tt__StringList; // Optimization: simpleType "http://www.onvif.org/ver10/schema":ReferenceTokenList is not used and was removed @@ -1749,7 +1736,7 @@ typedef std::string tt__StringList; /// Indication which encodings are supported for this video source. The list may contain one or more enumeration values of tt:VideoEncoding. /// /// -typedef std::string trt__EncodingTypes; +typedef char* trt__EncodingTypes; /******************************************************************************\ @@ -1778,7 +1765,7 @@ typedef std::string trt__EncodingTypes; /// /// /// Length of this content is 0 to 64. -typedef std::string tt__Name : 64; +typedef char* tt__Name : 64; /// @brief "http://www.onvif.org/ver10/schema":RotateMode is a simpleType restriction of type xs:string. /// @@ -2050,7 +2037,7 @@ typedef xsd__hexBinary tt__Dot11PSK 32 : 32; /// @brief "http://www.onvif.org/ver10/schema":Dot11PSKPassphrase is a simpleType restriction of type xs:string. /// /// Content pattern is "[ -~]{8,63}". -typedef std::string tt__Dot11PSKPassphrase "[ -~]{8,63}"; +typedef char* tt__Dot11PSKPassphrase "[ -~]{8,63}"; /// @brief "http://www.onvif.org/ver10/schema":Dot11SignalStrength is a simpleType restriction of type xs:string. /// @@ -2214,7 +2201,7 @@ enum tt__ReverseMode /// @brief "http://www.onvif.org/ver10/schema":AuxiliaryData is a simpleType restriction of type xs:string. /// /// Length of this content is 0 to 128. -typedef std::string tt__AuxiliaryData : 128; +typedef char* tt__AuxiliaryData : 128; /// @brief "http://www.onvif.org/ver10/schema":PTZPresetTourState is a simpleType restriction of type xs:string. /// @@ -2359,7 +2346,7 @@ enum tt__ImageStabilizationMode /// @brief "http://www.onvif.org/ver10/schema":Description is a simpleType restriction of type xs:string. /// -typedef std::string tt__Description; +typedef char* tt__Description; // Optimization: simpleType "http://www.onvif.org/ver10/schema":XPathExpression is not used and was removed @@ -2397,7 +2384,7 @@ enum tt__OSDType /// /// /// Length of this content is 0 to 64. -typedef std::string tt__ReferenceToken : 64; +typedef char* tt__ReferenceToken : 64; /// @brief "http://www.onvif.org/ver10/schema":MoveStatus is a simpleType restriction of type xs:string. /// @@ -2808,7 +2795,7 @@ class tds__SecurityCapabilities /// /// /// Attribute "SupportedEAPMethods" of type "http://www.onvif.org/ver10/device/wsdl":EAPMethodTypes. - @ tds__EAPMethodTypes* SupportedEAPMethods 0; ///< Optional attribute. + @ tds__EAPMethodTypes SupportedEAPMethods 0; ///< Optional attribute. ///
/// The maximum number of users that the device supports. ///
@@ -2934,13 +2921,13 @@ class tds__SystemCapabilities /// /// /// Attribute "AutoGeo" of type "http://www.onvif.org/ver10/schema":StringAttrList. - @ tt__StringAttrList* AutoGeo 0; ///< Optional attribute. + @ tt__StringAttrList AutoGeo 0; ///< Optional attribute. ///
/// Enumerates the supported StorageTypes, see tds:StorageType. ///
/// /// Attribute "StorageTypesSupported" of type "http://www.onvif.org/ver10/schema":StringAttrList. - @ tt__StringAttrList* StorageTypesSupported 0; ///< Optional attribute. + @ tt__StringAttrList StorageTypesSupported 0; ///< Optional attribute. /// . /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -2970,7 +2957,7 @@ class tds__MiscCapabilities /// /// /// Attribute "AuxiliaryCommands" of type "http://www.onvif.org/ver10/schema":StringAttrList. - @ tt__StringAttrList* AuxiliaryCommands 0; ///< Optional attribute. + @ tt__StringAttrList AuxiliaryCommands 0; ///< Optional attribute. /// . /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -3000,13 +2987,13 @@ class tds__UserCredential /// /// /// Element "UserName" of type xs:string. - std::string UserName 1; ///< Required element. + char* UserName 1; ///< Required element. ///
/// optional password ///
/// /// Element "Password" of type xs:string. - std::string* Password 0; ///< Optional element. + char* Password 0; ///< Optional element. /// @note class _tds__UserCredential_Extension operations: /// - _tds__UserCredential_Extension* soap_new__tds__UserCredential_Extension(soap*) allocate and default initialize /// - _tds__UserCredential_Extension* soap_new__tds__UserCredential_Extension(soap*, int num) allocate and default initialize an array @@ -3051,13 +3038,13 @@ class tds__StorageConfigurationData /// /// /// Element "LocalPath" of type xs:anyURI. - xsd__anyURI* LocalPath 0; ///< Optional element. + xsd__anyURI LocalPath 0; ///< Optional element. ///
/// Storage server address ///
/// /// Element "StorageUri" of type xs:anyURI. - xsd__anyURI* StorageUri 0; ///< Optional element. + xsd__anyURI StorageUri 0; ///< Optional element. ///
/// User credential for the storage server ///
@@ -3089,7 +3076,7 @@ class tds__StorageConfigurationData /// /// /// Attribute "type" of type xs:string. - @ std::string type 1; ///< Required attribute. + @ char* type 1; ///< Required attribute. /// . /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -3145,8 +3132,10 @@ class _tds__GetServicesResponse /// Each Service element contains information about one service. /// /// -/// Vector of tds__Service* of length 1..unbounded. - std::vector Service 1; ///< Multiple elements. +/// Size of array of tds__Service* is 1..unbounded. + $ int __sizeService 1; +/// Pointer to array tds__Service* of size 1..unbounded. + tds__Service* *Service 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -3238,31 +3227,31 @@ class _tds__GetDeviceInformationResponse /// /// /// Element "Manufacturer" of type xs:string. - std::string Manufacturer 1; ///< Required element. + char* Manufacturer 1; ///< Required element. ///
/// The device model. ///
/// /// Element "Model" of type xs:string. - std::string Model 1; ///< Required element. + char* Model 1; ///< Required element. ///
/// The firmware version in the device. ///
/// /// Element "FirmwareVersion" of type xs:string. - std::string FirmwareVersion 1; ///< Required element. + char* FirmwareVersion 1; ///< Required element. ///
/// The serial number of the device. ///
/// /// Element "SerialNumber" of type xs:string. - std::string SerialNumber 1; ///< Required element. + char* SerialNumber 1; ///< Required element. ///
/// The hardware ID of the device. ///
/// /// Element "HardwareId" of type xs:string. - std::string HardwareId 1; ///< Required element. + char* HardwareId 1; ///< Required element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -3462,7 +3451,7 @@ class _tds__UpgradeSystemFirmware class _tds__UpgradeSystemFirmwareResponse { public: /// Element "Message" of type xs:string. - std::string* Message 0; ///< Optional element. + char* Message 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -3508,7 +3497,7 @@ class _tds__SystemRebootResponse /// /// /// Element "Message" of type xs:string. - std::string Message 1; ///< Required element. + char* Message 1; ///< Required element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -3529,8 +3518,10 @@ class _tds__SystemRebootResponse /// - int _tds__RestoreSystem::soap_type() returns SOAP_TYPE__tds__RestoreSystem or derived type identifier class _tds__RestoreSystem { public: -/// Vector of tt__BackupFile* of length 1..unbounded. - std::vector BackupFiles 1; ///< Multiple elements. +/// Size of array of tt__BackupFile* is 1..unbounded. + $ int __sizeBackupFiles 1; +/// Pointer to array tt__BackupFile* of size 1..unbounded. + tt__BackupFile* *BackupFiles 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -3591,8 +3582,10 @@ class _tds__GetSystemBackup /// - int _tds__GetSystemBackupResponse::soap_type() returns SOAP_TYPE__tds__GetSystemBackupResponse or derived type identifier class _tds__GetSystemBackupResponse { public: -/// Vector of tt__BackupFile* of length 1..unbounded. - std::vector BackupFiles 1; ///< Multiple elements. +/// Size of array of tt__BackupFile* is 1..unbounded. + $ int __sizeBackupFiles 1; +/// Pointer to array tt__BackupFile* of size 1..unbounded. + tt__BackupFile* *BackupFiles 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -3735,8 +3728,10 @@ class _tds__GetScopesResponse /// Contains a list of URI definining the device scopes. Scope parameters can be of two types: fixed and configurable. Fixed parameters can not be altered. /// /// -/// Vector of tt__Scope* of length 1..unbounded. - std::vector Scopes 1; ///< Multiple elements. +/// Size of array of tt__Scope* is 1..unbounded. + $ int __sizeScopes 1; +/// Pointer to array tt__Scope* of size 1..unbounded. + tt__Scope* *Scopes 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -3761,8 +3756,10 @@ class _tds__SetScopes /// Contains a list of scope parameters that will replace all existing configurable scope parameters. /// /// -/// Vector of xsd__anyURI of length 1..unbounded. - std::vector Scopes 1; ///< Multiple elements. +/// Size of array of xsd__anyURI is 1..unbounded. + $ int __sizeScopes 1; +/// Pointer to array xsd__anyURI of size 1..unbounded. + xsd__anyURI *Scopes 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -3807,8 +3804,10 @@ class _tds__AddScopes /// Contains a list of new configurable scope parameters that will be added to the existing configurable scope. /// /// -/// Vector of xsd__anyURI of length 1..unbounded. - std::vector ScopeItem 1; ///< Multiple elements. +/// Size of array of xsd__anyURI is 1..unbounded. + $ int __sizeScopeItem 1; +/// Pointer to array xsd__anyURI of size 1..unbounded. + xsd__anyURI *ScopeItem 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -3854,8 +3853,10 @@ class _tds__RemoveScopes /// Note that the response message always will match the request or an error will be returned. The use of the response is for that reason deprecated. /// /// -/// Vector of xsd__anyURI of length 1..unbounded. - std::vector ScopeItem 1; ///< Multiple elements. +/// Size of array of xsd__anyURI is 1..unbounded. + $ int __sizeScopeItem 1; +/// Pointer to array xsd__anyURI of size 1..unbounded. + xsd__anyURI *ScopeItem 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -3880,8 +3881,10 @@ class _tds__RemoveScopesResponse /// Contains a list of URIs that has been removed from the device scope /// /// -/// Vector of xsd__anyURI of length 0..unbounded. - std::vector ScopeItem 0; ///< Multiple elements. +/// Size of array of xsd__anyURI is 0..unbounded. + $ int __sizeScopeItem 0; +/// Pointer to array xsd__anyURI of size 0..unbounded. + xsd__anyURI *ScopeItem 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -4106,8 +4109,10 @@ class _tds__GetDPAddresses /// - int _tds__GetDPAddressesResponse::soap_type() returns SOAP_TYPE__tds__GetDPAddressesResponse or derived type identifier class _tds__GetDPAddressesResponse { public: -/// Vector of tt__NetworkHost* of length 0..unbounded. - std::vector DPAddress 0; ///< Multiple elements. +/// Size of array of tt__NetworkHost* is 0..unbounded. + $ int __sizeDPAddress 0; +/// Pointer to array tt__NetworkHost* of size 0..unbounded. + tt__NetworkHost* *DPAddress 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -4128,8 +4133,10 @@ class _tds__GetDPAddressesResponse /// - int _tds__SetDPAddresses::soap_type() returns SOAP_TYPE__tds__SetDPAddresses or derived type identifier class _tds__SetDPAddresses { public: -/// Vector of tt__NetworkHost* of length 0..unbounded. - std::vector DPAddress 0; ///< Multiple elements. +/// Size of array of tt__NetworkHost* is 0..unbounded. + $ int __sizeDPAddress 0; +/// Pointer to array tt__NetworkHost* of size 0..unbounded. + tt__NetworkHost* *DPAddress 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -4191,7 +4198,7 @@ class _tds__GetEndpointReference class _tds__GetEndpointReferenceResponse { public: /// Element "GUID" of type xs:string. - std::string GUID 1; ///< Required element. + char* GUID 1; ///< Required element. /// /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -4326,8 +4333,10 @@ class _tds__GetUsersResponse /// Contains a list of the onvif users and following information is included in each entry: username and user level. /// /// -/// Vector of tt__User* of length 0..unbounded. - std::vector User 0; ///< Multiple elements. +/// Size of array of tt__User* is 0..unbounded. + $ int __sizeUser 0; +/// Pointer to array tt__User* of size 0..unbounded. + tt__User* *User 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -4352,8 +4361,10 @@ class _tds__CreateUsers /// Creates new device users and corresponding credentials. Each user entry includes: username, password and user level. Either all users are created successfully or a fault message MUST be returned without creating any user. If trying to create several users with exactly the same username the request is rejected and no users are created. If password is missing, then fault message Too weak password is returned. /// /// -/// Vector of tt__User* of length 1..unbounded. - std::vector User 1; ///< Multiple elements. +/// Size of array of tt__User* is 1..unbounded. + $ int __sizeUser 1; +/// Pointer to array tt__User* of size 1..unbounded. + tt__User* *User 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -4398,8 +4409,10 @@ class _tds__DeleteUsers /// Deletes users on an device and there may exist users that cannot be deleted to ensure access to the unit. Either all users are deleted successfully or a fault message MUST be returned and no users be deleted. If a username exists multiple times in the request, then a fault message is returned. /// /// -/// Vector of std::string of length 1..unbounded. - std::vector Username 1; ///< Multiple elements. +/// Size of array of char* is 1..unbounded. + $ int __sizeUsername 1; +/// Pointer to array char* of size 1..unbounded. + char* *Username 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -4444,8 +4457,10 @@ class _tds__SetUser /// Updates the credentials for one or several users on an device. Either all change requests are processed successfully or a fault message MUST be returned. If the request contains the same username multiple times, a fault message is returned. /// /// -/// Vector of tt__User* of length 1..unbounded. - std::vector User 1; ///< Multiple elements. +/// Size of array of tt__User* is 1..unbounded. + $ int __sizeUser 1; +/// Pointer to array tt__User* of size 1..unbounded. + tt__User* *User 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -4532,8 +4547,10 @@ class _tds__GetCapabilities /// List of categories to retrieve capability information on. /// /// -/// Vector of enum tt__CapabilityCategory of length 0..unbounded. - std::vector Category 0; ///< Multiple elements. +/// Size of array of enum tt__CapabilityCategory is 0..unbounded. + $ int __sizeCategory 0; +/// Pointer to array enum tt__CapabilityCategory of size 0..unbounded. + enum tt__CapabilityCategory *Category 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -4780,14 +4797,18 @@ class _tds__SetDNS /// DNS search domain. /// /// -/// Vector of xsd__token of length 0..unbounded. - std::vector SearchDomain 0; ///< Multiple elements. +/// Size of array of xsd__token is 0..unbounded. + $ int __sizeSearchDomain 0; +/// Pointer to array xsd__token of size 0..unbounded. + xsd__token *SearchDomain 0; ///< Multiple elements. ///
/// DNS address(es) set manually. ///
/// -/// Vector of tt__IPAddress* of length 0..unbounded. - std::vector DNSManual 0; ///< Multiple elements. +/// Size of array of tt__IPAddress* is 0..unbounded. + $ int __sizeDNSManual 0; +/// Pointer to array tt__IPAddress* of size 0..unbounded. + tt__IPAddress* *DNSManual 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -4884,8 +4905,10 @@ class _tds__SetNTP /// Manual NTP settings. /// /// -/// Vector of tt__NetworkHost* of length 0..unbounded. - std::vector NTPManual 0; ///< Multiple elements. +/// Size of array of tt__NetworkHost* is 0..unbounded. + $ int __sizeNTPManual 0; +/// Pointer to array tt__NetworkHost* of size 0..unbounded. + tt__NetworkHost* *NTPManual 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -4983,13 +5006,13 @@ class _tds__SetDynamicDNS /// /// /// Element "Name" of type "http://www.onvif.org/ver10/schema":DNSName. - tt__DNSName* Name 0; ///< Optional element. + tt__DNSName Name 0; ///< Optional element. ///
/// DNS record time to live. ///
/// /// Element "TTL" of type xs:duration. - xsd__duration* TTL 0; ///< Optional element. + xsd__duration TTL 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -5054,8 +5077,10 @@ class _tds__GetNetworkInterfacesResponse /// List of network interfaces. /// /// -/// Vector of tt__NetworkInterface* of length 1..unbounded. - std::vector NetworkInterfaces 1; ///< Multiple elements. +/// Size of array of tt__NetworkInterface* is 1..unbounded. + $ int __sizeNetworkInterfaces 1; +/// Pointer to array tt__NetworkInterface* of size 1..unbounded. + tt__NetworkInterface* *NetworkInterfaces 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -5165,8 +5190,10 @@ class _tds__GetNetworkProtocolsResponse /// Contains an array of defined protocols supported by the device. There are three protocols defined; HTTP, HTTPS and RTSP. The following parameters can be retrieved for each protocol: port and enable/disable. /// /// -/// Vector of tt__NetworkProtocol* of length 0..unbounded. - std::vector NetworkProtocols 0; ///< Multiple elements. +/// Size of array of tt__NetworkProtocol* is 0..unbounded. + $ int __sizeNetworkProtocols 0; +/// Pointer to array tt__NetworkProtocol* of size 0..unbounded. + tt__NetworkProtocol* *NetworkProtocols 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -5191,8 +5218,10 @@ class _tds__SetNetworkProtocols /// Configures one or more defined network protocols supported by the device. There are currently three protocols defined; HTTP, HTTPS and RTSP. The following parameters can be set for each protocol: port and enable/disable. /// /// -/// Vector of tt__NetworkProtocol* of length 1..unbounded. - std::vector NetworkProtocols 1; ///< Multiple elements. +/// Size of array of tt__NetworkProtocol* is 1..unbounded. + $ int __sizeNetworkProtocols 1; +/// Pointer to array tt__NetworkProtocol* of size 1..unbounded. + tt__NetworkProtocol* *NetworkProtocols 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -5283,14 +5312,18 @@ class _tds__SetNetworkDefaultGateway /// Sets IPv4 gateway address used as default setting. /// /// -/// Vector of tt__IPv4Address of length 0..unbounded. - std::vector IPv4Address 0; ///< Multiple elements. +/// Size of array of tt__IPv4Address is 0..unbounded. + $ int __sizeIPv4Address 0; +/// Pointer to array tt__IPv4Address of size 0..unbounded. + tt__IPv4Address *IPv4Address 0; ///< Multiple elements. ///
/// Sets IPv6 gateway address used as default setting. ///
/// -/// Vector of tt__IPv6Address of length 0..unbounded. - std::vector IPv6Address 0; ///< Multiple elements. +/// Size of array of tt__IPv6Address is 0..unbounded. + $ int __sizeIPv6Address 0; +/// Pointer to array tt__IPv6Address of size 0..unbounded. + tt__IPv6Address *IPv6Address 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -5686,13 +5719,13 @@ class _tds__CreateCertificate /// /// /// Element "CertificateID" of type xs:token. - xsd__token* CertificateID 0; ///< Optional element. + xsd__token CertificateID 0; ///< Optional element. ///
/// Identification of the entity associated with the public-key. ///
/// /// Element "Subject" of type xs:string. - std::string* Subject 0; ///< Optional element. + char* Subject 0; ///< Optional element. ///
/// Certificate validity start date. ///
@@ -5775,8 +5808,10 @@ class _tds__GetCertificatesResponse /// Id and base64 encoded DER representation of all available certificates. /// /// -/// Vector of tt__Certificate* of length 0..unbounded. - std::vector NvtCertificate 0; ///< Multiple elements. +/// Size of array of tt__Certificate* is 0..unbounded. + $ int __sizeNvtCertificate 0; +/// Pointer to array tt__Certificate* of size 0..unbounded. + tt__Certificate* *NvtCertificate 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -5821,8 +5856,10 @@ class _tds__GetCertificatesStatusResponse /// Indicates if a certificate is used in an optional HTTPS configuration of the device. /// /// -/// Vector of tt__CertificateStatus* of length 0..unbounded. - std::vector CertificateStatus 0; ///< Multiple elements. +/// Size of array of tt__CertificateStatus* is 0..unbounded. + $ int __sizeCertificateStatus 0; +/// Pointer to array tt__CertificateStatus* of size 0..unbounded. + tt__CertificateStatus* *CertificateStatus 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -5847,8 +5884,10 @@ class _tds__SetCertificatesStatus /// Indicates if a certificate is to be used in an optional HTTPS configuration of the device. /// /// -/// Vector of tt__CertificateStatus* of length 0..unbounded. - std::vector CertificateStatus 0; ///< Multiple elements. +/// Size of array of tt__CertificateStatus* is 0..unbounded. + $ int __sizeCertificateStatus 0; +/// Pointer to array tt__CertificateStatus* of size 0..unbounded. + tt__CertificateStatus* *CertificateStatus 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -5893,8 +5932,10 @@ class _tds__DeleteCertificates /// List of ids of certificates to delete. /// /// -/// Vector of xsd__token of length 1..unbounded. - std::vector CertificateID 1; ///< Multiple elements. +/// Size of array of xsd__token is 1..unbounded. + $ int __sizeCertificateID 1; +/// Pointer to array xsd__token of size 1..unbounded. + xsd__token *CertificateID 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -5946,7 +5987,7 @@ class _tds__GetPkcs10Request /// /// /// Element "Subject" of type xs:string. - std::string* Subject 0; ///< Optional element. + char* Subject 0; ///< Optional element. ///
/// Optional base64 encoded DER attributes. ///
@@ -6003,8 +6044,10 @@ class _tds__LoadCertificates /// Optional id and base64 encoded DER representation of certificate. /// /// -/// Vector of tt__Certificate* of length 1..unbounded. - std::vector NVTCertificate 1; ///< Multiple elements. +/// Size of array of tt__Certificate* is 1..unbounded. + $ int __sizeNVTCertificate 1; +/// Pointer to array tt__Certificate* of size 1..unbounded. + tt__Certificate* *NVTCertificate 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -6157,8 +6200,10 @@ class _tds__GetCACertificates /// - int _tds__GetCACertificatesResponse::soap_type() returns SOAP_TYPE__tds__GetCACertificatesResponse or derived type identifier class _tds__GetCACertificatesResponse { public: -/// Vector of tt__Certificate* of length 0..unbounded. - std::vector CACertificate 0; ///< Multiple elements. +/// Size of array of tt__Certificate* is 0..unbounded. + $ int __sizeCACertificate 0; +/// Pointer to array tt__Certificate* of size 0..unbounded. + tt__Certificate* *CACertificate 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -6179,8 +6224,10 @@ class _tds__GetCACertificatesResponse /// - int _tds__LoadCertificateWithPrivateKey::soap_type() returns SOAP_TYPE__tds__LoadCertificateWithPrivateKey or derived type identifier class _tds__LoadCertificateWithPrivateKey { public: -/// Vector of tt__CertificateWithPrivateKey* of length 1..unbounded. - std::vector CertificateWithPrivateKey 1; ///< Multiple elements. +/// Size of array of tt__CertificateWithPrivateKey* is 1..unbounded. + $ int __sizeCertificateWithPrivateKey 1; +/// Pointer to array tt__CertificateWithPrivateKey* of size 1..unbounded. + tt__CertificateWithPrivateKey* *CertificateWithPrivateKey 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -6265,8 +6312,10 @@ class _tds__GetCertificateInformationResponse /// - int _tds__LoadCACertificates::soap_type() returns SOAP_TYPE__tds__LoadCACertificates or derived type identifier class _tds__LoadCACertificates { public: -/// Vector of tt__Certificate* of length 1..unbounded. - std::vector CACertificate 1; ///< Multiple elements. +/// Size of array of tt__Certificate* is 1..unbounded. + $ int __sizeCACertificate 1; +/// Pointer to array tt__Certificate* of size 1..unbounded. + tt__Certificate* *CACertificate 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -6455,8 +6504,10 @@ class _tds__GetDot1XConfigurations /// - int _tds__GetDot1XConfigurationsResponse::soap_type() returns SOAP_TYPE__tds__GetDot1XConfigurationsResponse or derived type identifier class _tds__GetDot1XConfigurationsResponse { public: -/// Vector of tt__Dot1XConfiguration* of length 0..unbounded. - std::vector Dot1XConfiguration 0; ///< Multiple elements. +/// Size of array of tt__Dot1XConfiguration* is 0..unbounded. + $ int __sizeDot1XConfiguration 0; +/// Pointer to array tt__Dot1XConfiguration* of size 0..unbounded. + tt__Dot1XConfiguration* *Dot1XConfiguration 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -6477,8 +6528,10 @@ class _tds__GetDot1XConfigurationsResponse /// - int _tds__DeleteDot1XConfiguration::soap_type() returns SOAP_TYPE__tds__DeleteDot1XConfiguration or derived type identifier class _tds__DeleteDot1XConfiguration { public: -/// Vector of tt__ReferenceToken of length 0..unbounded. - std::vector Dot1XConfigurationToken 0; ///< Multiple elements. +/// Size of array of tt__ReferenceToken is 0..unbounded. + $ int __sizeDot1XConfigurationToken 0; +/// Pointer to array tt__ReferenceToken of size 0..unbounded. + tt__ReferenceToken *Dot1XConfigurationToken 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -6539,8 +6592,10 @@ class _tds__GetRelayOutputs /// - int _tds__GetRelayOutputsResponse::soap_type() returns SOAP_TYPE__tds__GetRelayOutputsResponse or derived type identifier class _tds__GetRelayOutputsResponse { public: -/// Vector of tt__RelayOutput* of length 0..unbounded. - std::vector RelayOutputs 0; ///< Multiple elements. +/// Size of array of tt__RelayOutput* is 0..unbounded. + $ int __sizeRelayOutputs 0; +/// Pointer to array tt__RelayOutput* of size 0..unbounded. + tt__RelayOutput* *RelayOutputs 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -6672,7 +6727,7 @@ class _tds__SendAuxiliaryCommand class _tds__SendAuxiliaryCommandResponse { public: /// Element "AuxiliaryCommandResponse" of type "http://www.onvif.org/ver10/schema":AuxiliaryData. - tt__AuxiliaryData* AuxiliaryCommandResponse 0; ///< Optional element. + tt__AuxiliaryData AuxiliaryCommandResponse 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -6807,8 +6862,10 @@ class _tds__ScanAvailableDot11Networks /// - int _tds__ScanAvailableDot11NetworksResponse::soap_type() returns SOAP_TYPE__tds__ScanAvailableDot11NetworksResponse or derived type identifier class _tds__ScanAvailableDot11NetworksResponse { public: -/// Vector of tt__Dot11AvailableNetworks* of length 0..unbounded. - std::vector Networks 0; ///< Multiple elements. +/// Size of array of tt__Dot11AvailableNetworks* is 0..unbounded. + $ int __sizeNetworks 0; +/// Pointer to array tt__Dot11AvailableNetworks* of size 0..unbounded. + tt__Dot11AvailableNetworks* *Networks 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -6852,9 +6909,9 @@ class _tds__GetSystemUrisResponse /// Element "SystemLogUris" of type "http://www.onvif.org/ver10/schema":SystemLogUriList. tt__SystemLogUriList* SystemLogUris 0; ///< Optional element. /// Element "SupportInfoUri" of type xs:anyURI. - xsd__anyURI* SupportInfoUri 0; ///< Optional element. + xsd__anyURI SupportInfoUri 0; ///< Optional element. /// Element "SystemBackupUri" of type xs:anyURI. - xsd__anyURI* SystemBackupUri 0; ///< Optional element. + xsd__anyURI SystemBackupUri 0; ///< Optional element. /// @note class _tds__GetSystemUrisResponse_Extension operations: /// - _tds__GetSystemUrisResponse_Extension* soap_new__tds__GetSystemUrisResponse_Extension(soap*) allocate and default initialize /// - _tds__GetSystemUrisResponse_Extension* soap_new__tds__GetSystemUrisResponse_Extension(soap*, int num) allocate and default initialize an array @@ -7005,8 +7062,10 @@ class _tds__GetStorageConfigurations /// - int _tds__GetStorageConfigurationsResponse::soap_type() returns SOAP_TYPE__tds__GetStorageConfigurationsResponse or derived type identifier class _tds__GetStorageConfigurationsResponse { public: -/// Vector of tds__StorageConfiguration* of length 0..unbounded. - std::vector StorageConfigurations 0; ///< Multiple elements. +/// Size of array of tds__StorageConfiguration* is 0..unbounded. + $ int __sizeStorageConfigurations 0; +/// Pointer to array tds__StorageConfiguration* of size 0..unbounded. + tds__StorageConfiguration* *StorageConfigurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -7219,8 +7278,10 @@ class _tds__GetGeoLocation /// - int _tds__GetGeoLocationResponse::soap_type() returns SOAP_TYPE__tds__GetGeoLocationResponse or derived type identifier class _tds__GetGeoLocationResponse { public: -/// Vector of tt__LocationEntity* of length 0..unbounded. - std::vector Location 0; ///< Multiple elements. +/// Size of array of tt__LocationEntity* is 0..unbounded. + $ int __sizeLocation 0; +/// Pointer to array tt__LocationEntity* of size 0..unbounded. + tt__LocationEntity* *Location 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -7241,8 +7302,10 @@ class _tds__GetGeoLocationResponse /// - int _tds__SetGeoLocation::soap_type() returns SOAP_TYPE__tds__SetGeoLocation or derived type identifier class _tds__SetGeoLocation { public: -/// Vector of tt__LocationEntity* of length 1..unbounded. - std::vector Location 1; ///< Multiple elements. +/// Size of array of tt__LocationEntity* is 1..unbounded. + $ int __sizeLocation 1; +/// Pointer to array tt__LocationEntity* of size 1..unbounded. + tt__LocationEntity* *Location 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -7283,8 +7346,10 @@ class _tds__SetGeoLocationResponse /// - int _tds__DeleteGeoLocation::soap_type() returns SOAP_TYPE__tds__DeleteGeoLocation or derived type identifier class _tds__DeleteGeoLocation { public: -/// Vector of tt__LocationEntity* of length 1..unbounded. - std::vector Location 1; ///< Multiple elements. +/// Size of array of tt__LocationEntity* is 1..unbounded. + $ int __sizeLocation 1; +/// Pointer to array tt__LocationEntity* of size 1..unbounded. + tt__LocationEntity* *Location 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -7509,8 +7574,10 @@ class tt__DurationRange /// - int tt__IntItems::soap_type() returns SOAP_TYPE_tt__IntItems or derived type identifier class tt__IntItems { public: -/// Vector of int of length 0..unbounded. - std::vector Items 0; ///< Multiple elements. +/// Size of array of int is 0..unbounded. + $ int __sizeItems 0; +/// Pointer to array int of size 0..unbounded. + int *Items 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -7854,8 +7921,10 @@ class tt__VideoSourceConfigurationExtension2 /// Optional element describing the geometric lens distortion. Multiple instances for future variable lens support. /// /// -/// Vector of tt__LensDescription* of length 0..unbounded. - std::vector LensDescription 0; ///< Multiple elements. +/// Size of array of tt__LensDescription* is 0..unbounded. + $ int __sizeLensDescription 0; +/// Pointer to array tt__LensDescription* of size 0..unbounded. + tt__LensDescription* *LensDescription 0; ///< Multiple elements. ///
/// Optional element describing the scene orientation in the cameras field of view. ///
@@ -8044,8 +8113,10 @@ class tt__LensDescription /// Radial description of the projection characteristics. The resulting curve is defined by the B-Spline interpolation over the given elements. The element for Radius zero shall not be provided. The projection points shall be ordered with ascending Radius. Items outside the last projection Radius shall be assumed to be invisible (black). /// /// -/// Vector of tt__LensProjection* of length 1..unbounded. - std::vector Projection 1; ///< Multiple elements. +/// Size of array of tt__LensProjection* is 1..unbounded. + $ int __sizeProjection 1; +/// Pointer to array tt__LensProjection* of size 1..unbounded. + tt__LensProjection* *Projection 1; ///< Multiple elements. ///
/// Compensation of the x coordinate needed for the ONVIF normalized coordinate system. ///
@@ -8100,8 +8171,10 @@ class tt__VideoSourceConfigurationOptions /// List of physical inputs. /// /// -/// Vector of tt__ReferenceToken of length 1..unbounded. - std::vector VideoSourceTokensAvailable 1; ///< Multiple elements. +/// Size of array of tt__ReferenceToken is 1..unbounded. + $ int __sizeVideoSourceTokensAvailable 1; +/// Pointer to array tt__ReferenceToken of size 1..unbounded. + tt__ReferenceToken *VideoSourceTokensAvailable 1; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":VideoSourceConfigurationOptionsExtension. tt__VideoSourceConfigurationOptionsExtension* Extension 0; ///< Optional element. ///
@@ -8171,8 +8244,10 @@ class tt__VideoSourceConfigurationOptionsExtension2 /// Scene orientation modes supported by the device for this configuration. ///
/// -/// Vector of enum tt__SceneOrientationMode of length 0..unbounded. - std::vector SceneOrientationMode 0; ///< Multiple elements. +/// Size of array of enum tt__SceneOrientationMode is 0..unbounded. + $ int __sizeSceneOrientationMode 0; +/// Pointer to array enum tt__SceneOrientationMode of size 0..unbounded. + enum tt__SceneOrientationMode *SceneOrientationMode 0; ///< Multiple elements. /// /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -8202,8 +8277,10 @@ class tt__RotateOptions /// Supported options of Rotate mode parameter. /// /// -/// Vector of enum tt__RotateMode of length 1..unbounded. - std::vector Mode 1; ///< Multiple elements. +/// Size of array of enum tt__RotateMode is 1..unbounded. + $ int __sizeMode 1; +/// Pointer to array enum tt__RotateMode of size 1..unbounded. + enum tt__RotateMode *Mode 1; ///< Multiple elements. ///
/// List of supported degree value for rotation. ///
@@ -8279,7 +8356,7 @@ class tt__SceneOrientation /// /// /// Element "Orientation" of type xs:string. - std::string* Orientation 0; ///< Optional element. + char* Orientation 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -8562,8 +8639,10 @@ class tt__JpegOptions /// List of supported image sizes. /// /// -/// Vector of tt__VideoResolution* of length 1..unbounded. - std::vector ResolutionsAvailable 1; ///< Multiple elements. +/// Size of array of tt__VideoResolution* is 1..unbounded. + $ int __sizeResolutionsAvailable 1; +/// Pointer to array tt__VideoResolution* of size 1..unbounded. + tt__VideoResolution* *ResolutionsAvailable 1; ///< Multiple elements. ///
/// Supported frame rate in fps (frames per second). ///
@@ -8602,8 +8681,10 @@ class tt__Mpeg4Options /// List of supported image sizes. /// /// -/// Vector of tt__VideoResolution* of length 1..unbounded. - std::vector ResolutionsAvailable 1; ///< Multiple elements. +/// Size of array of tt__VideoResolution* is 1..unbounded. + $ int __sizeResolutionsAvailable 1; +/// Pointer to array tt__VideoResolution* of size 1..unbounded. + tt__VideoResolution* *ResolutionsAvailable 1; ///< Multiple elements. ///
/// Supported group of Video frames length. This value typically corresponds to the I-Frame distance. ///
@@ -8626,8 +8707,10 @@ class tt__Mpeg4Options /// List of supported MPEG-4 profiles. /// /// -/// Vector of enum tt__Mpeg4Profile of length 1..unbounded. - std::vector Mpeg4ProfilesSupported 1; ///< Multiple elements. +/// Size of array of enum tt__Mpeg4Profile is 1..unbounded. + $ int __sizeMpeg4ProfilesSupported 1; +/// Pointer to array enum tt__Mpeg4Profile of size 1..unbounded. + enum tt__Mpeg4Profile *Mpeg4ProfilesSupported 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -8654,8 +8737,10 @@ class tt__H264Options /// List of supported image sizes. /// /// -/// Vector of tt__VideoResolution* of length 1..unbounded. - std::vector ResolutionsAvailable 1; ///< Multiple elements. +/// Size of array of tt__VideoResolution* is 1..unbounded. + $ int __sizeResolutionsAvailable 1; +/// Pointer to array tt__VideoResolution* of size 1..unbounded. + tt__VideoResolution* *ResolutionsAvailable 1; ///< Multiple elements. ///
/// Supported group of Video frames length. This value typically corresponds to the I-Frame distance. ///
@@ -8678,8 +8763,10 @@ class tt__H264Options /// List of supported H.264 profiles. /// /// -/// Vector of enum tt__H264Profile of length 1..unbounded. - std::vector H264ProfilesSupported 1; ///< Multiple elements. +/// Size of array of enum tt__H264Profile is 1..unbounded. + $ int __sizeH264ProfilesSupported 1; +/// Pointer to array enum tt__H264Profile of size 1..unbounded. + enum tt__H264Profile *H264ProfilesSupported 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -8709,8 +8796,10 @@ class tt__AudioSourceConfigurationOptions /// Tokens of the audio source the configuration can be used for. /// /// -/// Vector of tt__ReferenceToken of length 1..unbounded. - std::vector InputTokensAvailable 1; ///< Multiple elements. +/// Size of array of tt__ReferenceToken is 1..unbounded. + $ int __sizeInputTokensAvailable 1; +/// Pointer to array tt__ReferenceToken of size 1..unbounded. + tt__ReferenceToken *InputTokensAvailable 1; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":AudioSourceOptionsExtension. tt__AudioSourceOptionsExtension* Extension 0; ///< Optional element. /// . @@ -8766,8 +8855,10 @@ class tt__AudioEncoderConfigurationOptions /// list of supported AudioEncoderConfigurations /// /// -/// Vector of tt__AudioEncoderConfigurationOption* of length 0..unbounded. - std::vector Options 0; ///< Multiple elements. +/// Size of array of tt__AudioEncoderConfigurationOption* is 0..unbounded. + $ int __sizeOptions 0; +/// Pointer to array tt__AudioEncoderConfigurationOption* of size 0..unbounded. + tt__AudioEncoderConfigurationOption* *Options 0; ///< Multiple elements. /// . /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -9009,8 +9100,10 @@ class tt__MetadataConfigurationOptionsExtension /// List of supported metadata compression type. Its options shall be chosen from tt:MetadataCompressionType. /// /// -/// Vector of std::string of length 0..unbounded. - std::vector CompressionType 0; ///< Multiple elements. +/// Size of array of char* is 0..unbounded. + $ int __sizeCompressionType 0; +/// Pointer to array char* of size 0..unbounded. + char* *CompressionType 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":MetadataConfigurationOptionsExtension2. tt__MetadataConfigurationOptionsExtension2* Extension 0; ///< Optional element. /// Pointer to soap context that manages this instance. @@ -9156,8 +9249,10 @@ class tt__AudioOutputConfigurationOptions /// Tokens of the physical Audio outputs (typically one). /// /// -/// Vector of tt__ReferenceToken of length 1..unbounded. - std::vector OutputTokensAvailable 1; ///< Multiple elements. +/// Size of array of tt__ReferenceToken is 1..unbounded. + $ int __sizeOutputTokensAvailable 1; +/// Pointer to array tt__ReferenceToken of size 1..unbounded. + tt__ReferenceToken *OutputTokensAvailable 1; ///< Multiple elements. ///
/// An audio channel MAY support different types of audio transmission. While for full duplex /// operation no special handling is required, in half duplex operation the transmission direction @@ -9178,8 +9273,10 @@ class tt__AudioOutputConfigurationOptions /// Acoustic echo cancellation is out of ONVIF scope. ///
/// -/// Vector of xsd__anyURI of length 0..unbounded. - std::vector SendPrimacyOptions 0; ///< Multiple elements. +/// Size of array of xsd__anyURI is 0..unbounded. + $ int __sizeSendPrimacyOptions 0; +/// Pointer to array xsd__anyURI of size 0..unbounded. + xsd__anyURI *SendPrimacyOptions 0; ///< Multiple elements. ///
/// Minimum and maximum level range supported for this Output. ///
@@ -9631,10 +9728,14 @@ class tt__NetworkInterfaceExtension /// Extension point prepared for future 802.3 configuration. /// /// -/// Vector of tt__Dot3Configuration* of length 0..unbounded. - std::vector Dot3 0; ///< Multiple elements. -/// Vector of tt__Dot11Configuration* of length 0..unbounded. - std::vector Dot11 0; ///< Multiple elements. +/// Size of array of tt__Dot3Configuration* is 0..unbounded. + $ int __sizeDot3 0; +/// Pointer to array tt__Dot3Configuration* of size 0..unbounded. + tt__Dot3Configuration* *Dot3 0; ///< Multiple elements. +/// Size of array of tt__Dot11Configuration* is 0..unbounded. + $ int __sizeDot11 0; +/// Pointer to array tt__Dot11Configuration* of size 0..unbounded. + tt__Dot11Configuration* *Dot11 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":NetworkInterfaceExtension2. tt__NetworkInterfaceExtension2* Extension 0; ///< Optional element. /// Pointer to soap context that manages this instance. @@ -9790,7 +9891,7 @@ class tt__NetworkInterfaceInfo /// /// /// Element "Name" of type xs:string. - std::string* Name 0; ///< Optional element. + char* Name 0; ///< Optional element. ///
/// Network interface MAC address. ///
@@ -9888,8 +9989,10 @@ class tt__IPv4Configuration /// List of manually added IPv4 addresses. /// /// -/// Vector of tt__PrefixedIPv4Address* of length 0..unbounded. - std::vector Manual 0; ///< Multiple elements. +/// Size of array of tt__PrefixedIPv4Address* is 0..unbounded. + $ int __sizeManual 0; +/// Pointer to array tt__PrefixedIPv4Address* of size 0..unbounded. + tt__PrefixedIPv4Address* *Manual 0; ///< Multiple elements. ///
/// Link local address. ///
@@ -9954,26 +10057,34 @@ class tt__IPv6Configuration /// List of manually entered IPv6 addresses. /// /// -/// Vector of tt__PrefixedIPv6Address* of length 0..unbounded. - std::vector Manual 0; ///< Multiple elements. +/// Size of array of tt__PrefixedIPv6Address* is 0..unbounded. + $ int __sizeManual 0; +/// Pointer to array tt__PrefixedIPv6Address* of size 0..unbounded. + tt__PrefixedIPv6Address* *Manual 0; ///< Multiple elements. ///
/// List of link local IPv6 addresses. ///
/// -/// Vector of tt__PrefixedIPv6Address* of length 0..unbounded. - std::vector LinkLocal 0; ///< Multiple elements. +/// Size of array of tt__PrefixedIPv6Address* is 0..unbounded. + $ int __sizeLinkLocal 0; +/// Pointer to array tt__PrefixedIPv6Address* of size 0..unbounded. + tt__PrefixedIPv6Address* *LinkLocal 0; ///< Multiple elements. ///
/// List of IPv6 addresses configured by using DHCP. ///
/// -/// Vector of tt__PrefixedIPv6Address* of length 0..unbounded. - std::vector FromDHCP 0; ///< Multiple elements. +/// Size of array of tt__PrefixedIPv6Address* is 0..unbounded. + $ int __sizeFromDHCP 0; +/// Pointer to array tt__PrefixedIPv6Address* of size 0..unbounded. + tt__PrefixedIPv6Address* *FromDHCP 0; ///< Multiple elements. ///
/// List of IPv6 addresses configured by using router advertisment. ///
/// -/// Vector of tt__PrefixedIPv6Address* of length 0..unbounded. - std::vector FromRA 0; ///< Multiple elements. +/// Size of array of tt__PrefixedIPv6Address* is 0..unbounded. + $ int __sizeFromRA 0; +/// Pointer to array tt__PrefixedIPv6Address* of size 0..unbounded. + tt__PrefixedIPv6Address* *FromRA 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":IPv6ConfigurationExtension. tt__IPv6ConfigurationExtension* Extension 0; ///< Optional element. /// . @@ -10041,8 +10152,10 @@ class tt__NetworkProtocol /// The port that is used by the protocol. /// /// -/// Vector of int of length 1..unbounded. - std::vector Port 1; ///< Multiple elements. +/// Size of array of int is 1..unbounded. + $ int __sizePort 1; +/// Pointer to array int of size 1..unbounded. + int *Port 1; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":NetworkProtocolExtension. tt__NetworkProtocolExtension* Extension 0; ///< Optional element. /// . @@ -10105,19 +10218,19 @@ class tt__NetworkHost /// /// /// Element "IPv4Address" of type "http://www.onvif.org/ver10/schema":IPv4Address. - tt__IPv4Address* IPv4Address 0; ///< Optional element. + tt__IPv4Address IPv4Address 0; ///< Optional element. ///
/// IPv6 address. ///
/// /// Element "IPv6Address" of type "http://www.onvif.org/ver10/schema":IPv6Address. - tt__IPv6Address* IPv6Address 0; ///< Optional element. + tt__IPv6Address IPv6Address 0; ///< Optional element. ///
/// DNS name. ///
/// /// Element "DNSname" of type "http://www.onvif.org/ver10/schema":DNSName. - tt__DNSName* DNSname 0; ///< Optional element. + tt__DNSName DNSname 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":NetworkHostExtension. tt__NetworkHostExtension* Extension 0; ///< Optional element. /// . @@ -10180,13 +10293,13 @@ class tt__IPAddress /// /// /// Element "IPv4Address" of type "http://www.onvif.org/ver10/schema":IPv4Address. - tt__IPv4Address* IPv4Address 0; ///< Optional element. + tt__IPv4Address IPv4Address 0; ///< Optional element. ///
/// IPv6 address ///
/// /// Element "IPv6Address" of type "http://www.onvif.org/ver10/schema":IPv6Address. - tt__IPv6Address* IPv6Address 0; ///< Optional element. + tt__IPv6Address IPv6Address 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -10279,7 +10392,7 @@ class tt__HostnameInformation /// /// /// Element "Name" of type xs:token. - xsd__token* Name 0; ///< Optional element. + xsd__token Name 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":HostnameInformationExtension. tt__HostnameInformationExtension* Extension 0; ///< Optional element. /// . @@ -10341,20 +10454,26 @@ class tt__DNSInformation /// Search domain. /// /// -/// Vector of xsd__token of length 0..unbounded. - std::vector SearchDomain 0; ///< Multiple elements. +/// Size of array of xsd__token is 0..unbounded. + $ int __sizeSearchDomain 0; +/// Pointer to array xsd__token of size 0..unbounded. + xsd__token *SearchDomain 0; ///< Multiple elements. ///
/// List of DNS addresses received from DHCP. ///
/// -/// Vector of tt__IPAddress* of length 0..unbounded. - std::vector DNSFromDHCP 0; ///< Multiple elements. +/// Size of array of tt__IPAddress* is 0..unbounded. + $ int __sizeDNSFromDHCP 0; +/// Pointer to array tt__IPAddress* of size 0..unbounded. + tt__IPAddress* *DNSFromDHCP 0; ///< Multiple elements. ///
/// List of manually entered DNS addresses. ///
/// -/// Vector of tt__IPAddress* of length 0..unbounded. - std::vector DNSManual 0; ///< Multiple elements. +/// Size of array of tt__IPAddress* is 0..unbounded. + $ int __sizeDNSManual 0; +/// Pointer to array tt__IPAddress* of size 0..unbounded. + tt__IPAddress* *DNSManual 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":DNSInformationExtension. tt__DNSInformationExtension* Extension 0; ///< Optional element. /// . @@ -10416,14 +10535,18 @@ class tt__NTPInformation /// List of NTP addresses retrieved by using DHCP. /// /// -/// Vector of tt__NetworkHost* of length 0..unbounded. - std::vector NTPFromDHCP 0; ///< Multiple elements. +/// Size of array of tt__NetworkHost* is 0..unbounded. + $ int __sizeNTPFromDHCP 0; +/// Pointer to array tt__NetworkHost* of size 0..unbounded. + tt__NetworkHost* *NTPFromDHCP 0; ///< Multiple elements. ///
/// List of manually entered NTP addresses. ///
/// -/// Vector of tt__NetworkHost* of length 0..unbounded. - std::vector NTPManual 0; ///< Multiple elements. +/// Size of array of tt__NetworkHost* is 0..unbounded. + $ int __sizeNTPManual 0; +/// Pointer to array tt__NetworkHost* of size 0..unbounded. + tt__NetworkHost* *NTPManual 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":NTPInformationExtension. tt__NTPInformationExtension* Extension 0; ///< Optional element. /// . @@ -10486,13 +10609,13 @@ class tt__DynamicDNSInformation /// /// /// Element "Name" of type "http://www.onvif.org/ver10/schema":DNSName. - tt__DNSName* Name 0; ///< Optional element. + tt__DNSName Name 0; ///< Optional element. ///
/// Time to live. ///
/// /// Element "TTL" of type xs:duration. - xsd__duration* TTL 0; ///< Optional element. + xsd__duration TTL 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":DynamicDNSInformationExtension. tt__DynamicDNSInformationExtension* Extension 0; ///< Optional element. /// . @@ -10606,10 +10729,14 @@ class tt__NetworkInterfaceSetConfigurationExtension /// Use wsdl2h option -x to remove this element. /// Use wsdl2h option -d for xsd__anyType DOM (soap_dom_element): /// wsdl2h maps xsd:any to xsd__anyType, use typemap.dat to remap. -/// Vector of tt__Dot3Configuration* of length 0..unbounded. - std::vector Dot3 0; ///< Multiple elements. -/// Vector of tt__Dot11Configuration* of length 0..unbounded. - std::vector Dot11 0; ///< Multiple elements. +/// Size of array of tt__Dot3Configuration* is 0..unbounded. + $ int __sizeDot3 0; +/// Pointer to array tt__Dot3Configuration* of size 0..unbounded. + tt__Dot3Configuration* *Dot3 0; ///< Multiple elements. +/// Size of array of tt__Dot11Configuration* is 0..unbounded. + $ int __sizeDot11 0; +/// Pointer to array tt__Dot11Configuration* of size 0..unbounded. + tt__Dot11Configuration* *Dot11 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":NetworkInterfaceSetConfigurationExtension2. tt__NetworkInterfaceSetConfigurationExtension2* Extension 0; ///< Optional element. /// Pointer to soap context that manages this instance. @@ -10647,8 +10774,10 @@ class tt__IPv6NetworkInterfaceSetConfiguration /// List of manually added IPv6 addresses. /// /// -/// Vector of tt__PrefixedIPv6Address* of length 0..unbounded. - std::vector Manual 0; ///< Multiple elements. +/// Size of array of tt__PrefixedIPv6Address* is 0..unbounded. + $ int __sizeManual 0; +/// Pointer to array tt__PrefixedIPv6Address* of size 0..unbounded. + tt__PrefixedIPv6Address* *Manual 0; ///< Multiple elements. ///
/// DHCP configuration. ///
@@ -10684,8 +10813,10 @@ class tt__IPv4NetworkInterfaceSetConfiguration /// List of manually added IPv4 addresses. /// /// -/// Vector of tt__PrefixedIPv4Address* of length 0..unbounded. - std::vector Manual 0; ///< Multiple elements. +/// Size of array of tt__PrefixedIPv4Address* is 0..unbounded. + $ int __sizeManual 0; +/// Pointer to array tt__PrefixedIPv4Address* of size 0..unbounded. + tt__PrefixedIPv4Address* *Manual 0; ///< Multiple elements. ///
/// Indicates whether or not DHCP is used. ///
@@ -10715,14 +10846,18 @@ class tt__NetworkGateway /// IPv4 address string. /// /// -/// Vector of tt__IPv4Address of length 0..unbounded. - std::vector IPv4Address 0; ///< Multiple elements. +/// Size of array of tt__IPv4Address is 0..unbounded. + $ int __sizeIPv4Address 0; +/// Pointer to array tt__IPv4Address of size 0..unbounded. + tt__IPv4Address *IPv4Address 0; ///< Multiple elements. ///
/// IPv6 address string. ///
/// -/// Vector of tt__IPv6Address of length 0..unbounded. - std::vector IPv6Address 0; ///< Multiple elements. +/// Size of array of tt__IPv6Address is 0..unbounded. + $ int __sizeIPv6Address 0; +/// Pointer to array tt__IPv6Address of size 0..unbounded. + tt__IPv6Address *IPv6Address 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -10758,8 +10893,10 @@ class tt__NetworkZeroConfiguration /// The zero-configuration IPv4 address(es) /// /// -/// Vector of tt__IPv4Address of length 0..unbounded. - std::vector Addresses 0; ///< Multiple elements. +/// Size of array of tt__IPv4Address is 0..unbounded. + $ int __sizeAddresses 0; +/// Pointer to array tt__IPv4Address of size 0..unbounded. + tt__IPv4Address *Addresses 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":NetworkZeroConfigurationExtension. tt__NetworkZeroConfigurationExtension* Extension 0; ///< Optional element. /// . @@ -10796,8 +10933,10 @@ class tt__NetworkZeroConfigurationExtension /// Optional array holding the configuration for the second and possibly further interfaces. /// /// -/// Vector of tt__NetworkZeroConfiguration* of length 0..unbounded. - std::vector Additional 0; ///< Multiple elements. +/// Size of array of tt__NetworkZeroConfiguration* is 0..unbounded. + $ int __sizeAdditional 0; +/// Pointer to array tt__NetworkZeroConfiguration* of size 0..unbounded. + tt__NetworkZeroConfiguration* *Additional 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":NetworkZeroConfigurationExtension2. tt__NetworkZeroConfigurationExtension2* Extension 0; ///< Optional element. /// Pointer to soap context that manages this instance. @@ -10846,10 +10985,14 @@ class tt__IPAddressFilter { public: /// Element "Type" of type "http://www.onvif.org/ver10/schema":IPAddressFilterType. enum tt__IPAddressFilterType Type 1; ///< Required element. -/// Vector of tt__PrefixedIPv4Address* of length 0..unbounded. - std::vector IPv4Address 0; ///< Multiple elements. -/// Vector of tt__PrefixedIPv6Address* of length 0..unbounded. - std::vector IPv6Address 0; ///< Multiple elements. +/// Size of array of tt__PrefixedIPv4Address* is 0..unbounded. + $ int __sizeIPv4Address 0; +/// Pointer to array tt__PrefixedIPv4Address* of size 0..unbounded. + tt__PrefixedIPv4Address* *IPv4Address 0; ///< Multiple elements. +/// Size of array of tt__PrefixedIPv6Address* is 0..unbounded. + $ int __sizeIPv6Address 0; +/// Pointer to array tt__PrefixedIPv6Address* of size 0..unbounded. + tt__PrefixedIPv6Address* *IPv6Address 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":IPAddressFilterExtension. tt__IPAddressFilterExtension* Extension 0; ///< Optional element. /// . @@ -10948,7 +11091,7 @@ class tt__Dot11SecurityConfiguration /// Element "PSK" of type "http://www.onvif.org/ver10/schema":Dot11PSKSet. tt__Dot11PSKSet* PSK 0; ///< Optional element. /// Element "Dot1X" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* Dot1X 0; ///< Optional element. + tt__ReferenceToken Dot1X 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":Dot11SecurityConfigurationExtension. tt__Dot11SecurityConfigurationExtension* Extension 0; ///< Optional element. /// . @@ -11019,7 +11162,7 @@ class tt__Dot11PSKSet /// /// /// Element "Passphrase" of type "http://www.onvif.org/ver10/schema":Dot11PSKPassphrase. - tt__Dot11PSKPassphrase* Passphrase 0; ///< Optional element. + tt__Dot11PSKPassphrase Passphrase 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":Dot11PSKSetExtension. tt__Dot11PSKSetExtension* Extension 0; ///< Optional element. /// . @@ -11139,7 +11282,7 @@ class tt__Dot11Status /// Element "SSID" of type "http://www.onvif.org/ver10/schema":Dot11SSIDType. tt__Dot11SSIDType SSID 1; ///< Required element. /// Element "BSSID" of type xs:string. - std::string* BSSID 0; ///< Optional element. + char* BSSID 0; ///< Optional element. /// Element "PairCipher" of type "http://www.onvif.org/ver10/schema":Dot11Cipher. enum tt__Dot11Cipher* PairCipher 0; ///< Optional element. /// Element "GroupCipher" of type "http://www.onvif.org/ver10/schema":Dot11Cipher. @@ -11181,17 +11324,23 @@ class tt__Dot11AvailableNetworks /// Element "SSID" of type "http://www.onvif.org/ver10/schema":Dot11SSIDType. tt__Dot11SSIDType SSID 1; ///< Required element. /// Element "BSSID" of type xs:string. - std::string* BSSID 0; ///< Optional element. + char* BSSID 0; ///< Optional element. ///
/// See IEEE802.11 7.3.2.25.2 for details. ///
/// -/// Vector of enum tt__Dot11AuthAndMangementSuite of length 0..unbounded. - std::vector AuthAndMangementSuite 0; ///< Multiple elements. -/// Vector of enum tt__Dot11Cipher of length 0..unbounded. - std::vector PairCipher 0; ///< Multiple elements. -/// Vector of enum tt__Dot11Cipher of length 0..unbounded. - std::vector GroupCipher 0; ///< Multiple elements. +/// Size of array of enum tt__Dot11AuthAndMangementSuite is 0..unbounded. + $ int __sizeAuthAndMangementSuite 0; +/// Pointer to array enum tt__Dot11AuthAndMangementSuite of size 0..unbounded. + enum tt__Dot11AuthAndMangementSuite *AuthAndMangementSuite 0; ///< Multiple elements. +/// Size of array of enum tt__Dot11Cipher is 0..unbounded. + $ int __sizePairCipher 0; +/// Pointer to array enum tt__Dot11Cipher of size 0..unbounded. + enum tt__Dot11Cipher *PairCipher 0; ///< Multiple elements. +/// Size of array of enum tt__Dot11Cipher is 0..unbounded. + $ int __sizeGroupCipher 0; +/// Pointer to array enum tt__Dot11Cipher of size 0..unbounded. + enum tt__Dot11Cipher *GroupCipher 0; ///< Multiple elements. /// Element "SignalStrength" of type "http://www.onvif.org/ver10/schema":Dot11SignalStrength. enum tt__Dot11SignalStrength* SignalStrength 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":Dot11AvailableNetworksExtension. @@ -11602,8 +11751,10 @@ class tt__IOCapabilitiesExtension /// wsdl2h maps xsd:any to xsd__anyType, use typemap.dat to remap. /// Element "Auxiliary" of type xs:boolean. bool* Auxiliary 0; ///< Optional element. -/// Vector of tt__AuxiliaryData of length 0..unbounded. - std::vector AuxiliaryCommands 0; ///< Multiple elements. +/// Size of array of tt__AuxiliaryData is 0..unbounded. + $ int __sizeAuxiliaryCommands 0; +/// Pointer to array tt__AuxiliaryData of size 0..unbounded. + tt__AuxiliaryData *AuxiliaryCommands 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":IOCapabilitiesExtension2. tt__IOCapabilitiesExtension2* Extension 1; ///< Required element. /// . @@ -12049,8 +12200,10 @@ class tt__SecurityCapabilitiesExtension2 /// EAP Methods supported by the device. The int values refer to the IANA EAP Registry. /// /// -/// Vector of int of length 0..unbounded. - std::vector SupportedEAPMethod 0; ///< Multiple elements. +/// Size of array of int is 0..unbounded. + $ int __sizeSupportedEAPMethod 0; +/// Pointer to array int of size 0..unbounded. + int *SupportedEAPMethod 0; ///< Multiple elements. /// Element "RemoteUserHandling" of type xs:boolean. bool RemoteUserHandling 1; ///< Required element. /// @@ -12118,8 +12271,10 @@ class tt__SystemCapabilities /// Indicates supported ONVIF version(s). /// /// -/// Vector of tt__OnvifVersion* of length 1..unbounded. - std::vector SupportedVersions 1; ///< Multiple elements. +/// Size of array of tt__OnvifVersion* is 1..unbounded. + $ int __sizeSupportedVersions 1; +/// Pointer to array tt__OnvifVersion* of size 1..unbounded. + tt__OnvifVersion* *SupportedVersions 1; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":SystemCapabilitiesExtension. tt__SystemCapabilitiesExtension* Extension 0; ///< Optional element. /// . @@ -12633,7 +12788,7 @@ class tt__SystemLog /// /// /// Element "String" of type xs:string. - std::string* String 0; ///< Optional element. + char* String 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -12664,7 +12819,7 @@ class tt__SupportInformation /// /// /// Element "String" of type xs:string. - std::string* String 0; ///< Optional element. + char* String 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -12735,7 +12890,7 @@ class tt__AttachmentData class tt__BackupFile { public: /// Element "Name" of type xs:string. - std::string Name 1; ///< Required element. + char* Name 1; ///< Required element. /// Element "Data" of type "http://www.onvif.org/ver10/schema":AttachmentData. tt__AttachmentData* Data 1; ///< Required element. /// Pointer to soap context that manages this instance. @@ -12757,8 +12912,10 @@ class tt__BackupFile /// - int tt__SystemLogUriList::soap_type() returns SOAP_TYPE_tt__SystemLogUriList or derived type identifier class tt__SystemLogUriList { public: -/// Vector of tt__SystemLogUri* of length 0..unbounded. - std::vector SystemLog 0; ///< Multiple elements. +/// Size of array of tt__SystemLogUri* is 0..unbounded. + $ int __sizeSystemLog 0; +/// Pointer to array tt__SystemLogUri* of size 0..unbounded. + tt__SystemLogUri* *SystemLog 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -13029,9 +13186,9 @@ class tt__TimeZone class tt__RemoteUser { public: /// Element "Username" of type xs:string. - std::string Username 1; ///< Required element. + char* Username 1; ///< Required element. /// Element "Password" of type xs:string. - std::string* Password 0; ///< Optional element. + char* Password 0; ///< Optional element. /// Element "UseDerivedPassword" of type xs:boolean. bool UseDerivedPassword 1; ///< Required element. /// @@ -13069,13 +13226,13 @@ class tt__User /// /// /// Element "Username" of type xs:string. - std::string Username 1; ///< Required element. + char* Username 1; ///< Required element. ///
/// Password string. ///
/// /// Element "Password" of type xs:string. - std::string* Password 0; ///< Optional element. + char* Password 0; ///< Optional element. ///
/// User level string. ///
@@ -13211,7 +13368,7 @@ class tt__CertificateStatus class tt__CertificateWithPrivateKey { public: /// Element "CertificateID" of type xs:token. - xsd__token* CertificateID 0; ///< Optional element. + xsd__token CertificateID 0; ///< Optional element. /// Element "Certificate" of type "http://www.onvif.org/ver10/schema":BinaryData. tt__BinaryData* Certificate 1; ///< Required element. /// Element "PrivateKey" of type "http://www.onvif.org/ver10/schema":BinaryData. @@ -13249,9 +13406,9 @@ class tt__CertificateInformation /// Element "CertificateID" of type xs:token. xsd__token CertificateID 1; ///< Required element. /// Element "IssuerDN" of type xs:string. - std::string* IssuerDN 0; ///< Optional element. + char* IssuerDN 0; ///< Optional element. /// Element "SubjectDN" of type xs:string. - std::string* SubjectDN 0; ///< Optional element. + char* SubjectDN 0; ///< Optional element. /// Element "KeyUsage" of type "http://www.onvif.org/ver10/schema":CertificateUsage. tt__CertificateUsage* KeyUsage 0; ///< Optional element. /// Element "ExtendedKeyUsage" of type "http://www.onvif.org/ver10/schema":CertificateUsage. @@ -13259,15 +13416,15 @@ class tt__CertificateInformation /// Element "KeyLength" of type xs:int. int* KeyLength 0; ///< Optional element. /// Element "Version" of type xs:string. - std::string* Version 0; ///< Optional element. + char* Version 0; ///< Optional element. /// Element "SerialNum" of type xs:string. - std::string* SerialNum 0; ///< Optional element. + char* SerialNum 0; ///< Optional element. ///
/// Validity Range is from "NotBefore" to "NotAfter"; the corresponding DateTimeRange is from "From" to "Until" ///
/// /// Element "SignatureAlgorithm" of type xs:string. - std::string* SignatureAlgorithm 0; ///< Optional element. + char* SignatureAlgorithm 0; ///< Optional element. /// Element "Validity" of type "http://www.onvif.org/ver10/schema":DateTimeRange. tt__DateTimeRange* Validity 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":CertificateInformationExtension. @@ -13324,17 +13481,19 @@ class tt__Dot1XConfiguration /// Element "Dot1XConfigurationToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. tt__ReferenceToken Dot1XConfigurationToken 1; ///< Required element. /// Element "Identity" of type xs:string. - std::string Identity 1; ///< Required element. + char* Identity 1; ///< Required element. /// Element "AnonymousID" of type xs:string. - std::string* AnonymousID 0; ///< Optional element. + char* AnonymousID 0; ///< Optional element. ///
/// EAP Method type as defined in IANA EAP Registry. ///
/// /// Element "EAPMethod" of type xs:int. int EAPMethod 1; ///< Required element. -/// Vector of xsd__token of length 0..unbounded. - std::vector CACertificateID 0; ///< Multiple elements. +/// Size of array of xsd__token is 0..unbounded. + $ int __sizeCACertificateID 0; +/// Pointer to array xsd__token of size 0..unbounded. + xsd__token *CACertificateID 0; ///< Multiple elements. /// Element "EAPMethodConfiguration" of type "http://www.onvif.org/ver10/schema":EAPMethodConfiguration. tt__EAPMethodConfiguration* EAPMethodConfiguration 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":Dot1XConfigurationExtension. @@ -13399,7 +13558,7 @@ class tt__EAPMethodConfiguration /// /// /// Element "Password" of type xs:string. - std::string* Password 0; ///< Optional element. + char* Password 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":EapMethodExtension. tt__EapMethodExtension* Extension 0; ///< Optional element. /// . @@ -13598,8 +13757,10 @@ class tt__PTZPresetTourSupported /// Indicates which preset tour operations are available for this PTZ Node. /// /// -/// Vector of enum tt__PTZPresetTourOperation of length 0..unbounded. - std::vector PTZPresetTourOperation 0; ///< Multiple elements. +/// Size of array of enum tt__PTZPresetTourOperation is 0..unbounded. + $ int __sizePTZPresetTourOperation 0; +/// Pointer to array enum tt__PTZPresetTourOperation of size 0..unbounded. + enum tt__PTZPresetTourOperation *PTZPresetTourOperation 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":PTZPresetTourSupportedExtension. tt__PTZPresetTourSupportedExtension* Extension 0; ///< Optional element. /// . @@ -13882,7 +14043,7 @@ class tt__PTZConfigurationOptions /// /// /// Attribute "PTZRamps" of type "http://www.onvif.org/ver10/schema":IntAttrList. - @ tt__IntAttrList* PTZRamps 0; ///< Optional attribute. + @ tt__IntAttrList PTZRamps 0; ///< Optional attribute. /// . /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -13999,8 +14160,10 @@ class tt__EFlipOptions /// Options of EFlip mode parameter. /// /// -/// Vector of enum tt__EFlipMode of length 0..unbounded. - std::vector Mode 0; ///< Multiple elements. +/// Size of array of enum tt__EFlipMode is 0..unbounded. + $ int __sizeMode 0; +/// Pointer to array enum tt__EFlipMode of size 0..unbounded. + enum tt__EFlipMode *Mode 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":EFlipOptionsExtension. tt__EFlipOptionsExtension* Extension 0; ///< Optional element. /// . @@ -14056,8 +14219,10 @@ class tt__ReverseOptions /// Options of Reverse mode parameter. /// /// -/// Vector of enum tt__ReverseMode of length 0..unbounded. - std::vector Mode 0; ///< Multiple elements. +/// Size of array of enum tt__ReverseMode is 0..unbounded. + $ int __sizeMode 0; +/// Pointer to array enum tt__ReverseMode of size 0..unbounded. + enum tt__ReverseMode *Mode 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":ReverseOptionsExtension. tt__ReverseOptionsExtension* Extension 0; ///< Optional element. /// . @@ -14163,50 +14328,66 @@ class tt__PTZSpaces /// The Generic Pan/Tilt Position space is provided by every PTZ node that supports absolute Pan/Tilt, since it does not relate to a specific physical range. Instead, the range should be defined as the full range of the PTZ unit normalized to the range -1 to 1 resulting in the following space description. /// /// -/// Vector of tt__Space2DDescription* of length 0..unbounded. - std::vector AbsolutePanTiltPositionSpace 0; ///< Multiple elements. +/// Size of array of tt__Space2DDescription* is 0..unbounded. + $ int __sizeAbsolutePanTiltPositionSpace 0; +/// Pointer to array tt__Space2DDescription* of size 0..unbounded. + tt__Space2DDescription* *AbsolutePanTiltPositionSpace 0; ///< Multiple elements. ///
/// The Generic Zoom Position Space is provided by every PTZ node that supports absolute Zoom, since it does not relate to a specific physical range. Instead, the range should be defined as the full range of the Zoom normalized to the range 0 (wide) to 1 (tele). There is no assumption about how the generic zoom range is mapped to magnification, FOV or other physical zoom dimension. ///
/// -/// Vector of tt__Space1DDescription* of length 0..unbounded. - std::vector AbsoluteZoomPositionSpace 0; ///< Multiple elements. +/// Size of array of tt__Space1DDescription* is 0..unbounded. + $ int __sizeAbsoluteZoomPositionSpace 0; +/// Pointer to array tt__Space1DDescription* of size 0..unbounded. + tt__Space1DDescription* *AbsoluteZoomPositionSpace 0; ///< Multiple elements. ///
/// The Generic Pan/Tilt translation space is provided by every PTZ node that supports relative Pan/Tilt, since it does not relate to a specific physical range. Instead, the range should be defined as the full positive and negative translation range of the PTZ unit normalized to the range -1 to 1, where positive translation would mean clockwise rotation or movement in right/up direction resulting in the following space description. ///
/// -/// Vector of tt__Space2DDescription* of length 0..unbounded. - std::vector RelativePanTiltTranslationSpace 0; ///< Multiple elements. +/// Size of array of tt__Space2DDescription* is 0..unbounded. + $ int __sizeRelativePanTiltTranslationSpace 0; +/// Pointer to array tt__Space2DDescription* of size 0..unbounded. + tt__Space2DDescription* *RelativePanTiltTranslationSpace 0; ///< Multiple elements. ///
/// The Generic Zoom Translation Space is provided by every PTZ node that supports relative Zoom, since it does not relate to a specific physical range. Instead, the corresponding absolute range should be defined as the full positive and negative translation range of the Zoom normalized to the range -1 to1, where a positive translation maps to a movement in TELE direction. The translation is signed to indicate direction (negative is to wide, positive is to tele). There is no assumption about how the generic zoom range is mapped to magnification, FOV or other physical zoom dimension. This results in the following space description. ///
/// -/// Vector of tt__Space1DDescription* of length 0..unbounded. - std::vector RelativeZoomTranslationSpace 0; ///< Multiple elements. +/// Size of array of tt__Space1DDescription* is 0..unbounded. + $ int __sizeRelativeZoomTranslationSpace 0; +/// Pointer to array tt__Space1DDescription* of size 0..unbounded. + tt__Space1DDescription* *RelativeZoomTranslationSpace 0; ///< Multiple elements. ///
/// The generic Pan/Tilt velocity space shall be provided by every PTZ node, since it does not relate to a specific physical range. Instead, the range should be defined as a range of the PTZ units speed normalized to the range -1 to 1, where a positive velocity would map to clockwise rotation or movement in the right/up direction. A signed speed can be independently specified for the pan and tilt component resulting in the following space description. ///
/// -/// Vector of tt__Space2DDescription* of length 0..unbounded. - std::vector ContinuousPanTiltVelocitySpace 0; ///< Multiple elements. +/// Size of array of tt__Space2DDescription* is 0..unbounded. + $ int __sizeContinuousPanTiltVelocitySpace 0; +/// Pointer to array tt__Space2DDescription* of size 0..unbounded. + tt__Space2DDescription* *ContinuousPanTiltVelocitySpace 0; ///< Multiple elements. ///
/// The generic zoom velocity space specifies a zoom factor velocity without knowing the underlying physical model. The range should be normalized from -1 to 1, where a positive velocity would map to TELE direction. A generic zoom velocity space description resembles the following. ///
/// -/// Vector of tt__Space1DDescription* of length 0..unbounded. - std::vector ContinuousZoomVelocitySpace 0; ///< Multiple elements. +/// Size of array of tt__Space1DDescription* is 0..unbounded. + $ int __sizeContinuousZoomVelocitySpace 0; +/// Pointer to array tt__Space1DDescription* of size 0..unbounded. + tt__Space1DDescription* *ContinuousZoomVelocitySpace 0; ///< Multiple elements. ///
/// The speed space specifies the speed for a Pan/Tilt movement when moving to an absolute position or to a relative translation. In contrast to the velocity spaces, speed spaces do not contain any directional information. The speed of a combined Pan/Tilt movement is represented by a single non-negative scalar value. ///
/// -/// Vector of tt__Space1DDescription* of length 0..unbounded. - std::vector PanTiltSpeedSpace 0; ///< Multiple elements. +/// Size of array of tt__Space1DDescription* is 0..unbounded. + $ int __sizePanTiltSpeedSpace 0; +/// Pointer to array tt__Space1DDescription* of size 0..unbounded. + tt__Space1DDescription* *PanTiltSpeedSpace 0; ///< Multiple elements. ///
/// The speed space specifies the speed for a Zoom movement when moving to an absolute position or to a relative translation. In contrast to the velocity spaces, speed spaces do not contain any directional information. ///
/// -/// Vector of tt__Space1DDescription* of length 0..unbounded. - std::vector ZoomSpeedSpace 0; ///< Multiple elements. +/// Size of array of tt__Space1DDescription* is 0..unbounded. + $ int __sizeZoomSpeedSpace 0; +/// Pointer to array tt__Space1DDescription* of size 0..unbounded. + tt__Space1DDescription* *ZoomSpeedSpace 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":PTZSpacesExtension. tt__PTZSpacesExtension* Extension 0; ///< Optional element. /// . @@ -14362,7 +14543,7 @@ class tt__PTZPreset /// /// /// Element "Name" of type "http://www.onvif.org/ver10/schema":Name. - tt__Name* Name 0; ///< Optional element. + tt__Name Name 0; ///< Optional element. ///
/// A list of preset position. ///
@@ -14373,7 +14554,7 @@ class tt__PTZPreset /// /// /// Attribute "token" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - @ tt__ReferenceToken* token 0; ///< Optional attribute. + @ tt__ReferenceToken token 0; ///< Optional attribute. /// . /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -14403,7 +14584,7 @@ class tt__PresetTour /// /// /// Element "Name" of type "http://www.onvif.org/ver10/schema":Name. - tt__Name* Name 0; ///< Optional element. + tt__Name Name 0; ///< Optional element. ///
/// Read only parameters to indicate the status of the preset tour. ///
@@ -14426,8 +14607,10 @@ class tt__PresetTour /// A list of detail of touring spots including preset positions. /// /// -/// Vector of tt__PTZPresetTourSpot* of length 0..unbounded. - std::vector TourSpot 0; ///< Multiple elements. +/// Size of array of tt__PTZPresetTourSpot* is 0..unbounded. + $ int __sizeTourSpot 0; +/// Pointer to array tt__PTZPresetTourSpot* of size 0..unbounded. + tt__PTZPresetTourSpot* *TourSpot 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":PTZPresetTourExtension. tt__PTZPresetTourExtension* Extension 0; ///< Optional element. ///
@@ -14435,7 +14618,7 @@ class tt__PresetTour ///
/// /// Attribute "token" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - @ tt__ReferenceToken* token 0; ///< Optional attribute. + @ tt__ReferenceToken token 0; ///< Optional attribute. /// . /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -14502,7 +14685,7 @@ class tt__PTZPresetTourSpot /// /// /// Element "StayTime" of type xs:duration. - xsd__duration* StayTime 0; ///< Optional element. + xsd__duration StayTime 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":PTZPresetTourSpotExtension. tt__PTZPresetTourSpotExtension* Extension 0; ///< Optional element. /// . @@ -14563,7 +14746,7 @@ class tt__PTZPresetTourPresetDetail /// /// /// Element "PresetToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* PresetToken ; ///< Choice of element (one of multiple choices). + tt__ReferenceToken PresetToken ; ///< Choice of element (one of multiple choices). ///
/// Option to specify the preset position with the home position of this PTZ Node. "False" to this parameter shall be treated as an invalid argument. ///
@@ -14709,7 +14892,7 @@ class tt__PTZPresetTourStartingCondition /// /// /// Element "RecurringDuration" of type xs:duration. - xsd__duration* RecurringDuration 0; ///< Optional element. + xsd__duration RecurringDuration 0; ///< Optional element. ///
/// Optional parameter to choose which direction the preset tour goes. Forward shall be chosen in case it is omitted. ///
@@ -14867,8 +15050,10 @@ class tt__PTZPresetTourPresetDetailOptions /// A list of available Preset Tokens for tour spots. /// /// -/// Vector of tt__ReferenceToken of length 0..unbounded. - std::vector PresetToken 0; ///< Multiple elements. +/// Size of array of tt__ReferenceToken is 0..unbounded. + $ int __sizePresetToken 0; +/// Pointer to array tt__ReferenceToken of size 0..unbounded. + tt__ReferenceToken *PresetToken 0; ///< Multiple elements. ///
/// An option to indicate Home postion for tour spots. ///
@@ -14954,8 +15139,10 @@ class tt__PTZPresetTourStartingConditionOptions /// Supported options for Direction of Preset Tour. /// /// -/// Vector of enum tt__PTZPresetTourDirection of length 0..unbounded. - std::vector Direction 0; ///< Multiple elements. +/// Size of array of enum tt__PTZPresetTourDirection is 0..unbounded. + $ int __sizeDirection 0; +/// Pointer to array enum tt__PTZPresetTourDirection of size 0..unbounded. + enum tt__PTZPresetTourDirection *Direction 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":PTZPresetTourStartingConditionOptionsExtension. tt__PTZPresetTourStartingConditionOptionsExtension* Extension 0; ///< Optional element. /// . @@ -15537,8 +15724,10 @@ class tt__ImagingSettingsExtension202 /// An optional parameter applied to only auto mode to adjust timing of toggling Ir cut filter. /// /// -/// Vector of tt__IrCutFilterAutoAdjustment* of length 0..unbounded. - std::vector IrCutFilterAutoAdjustment 0; ///< Multiple elements. +/// Size of array of tt__IrCutFilterAutoAdjustment* is 0..unbounded. + $ int __sizeIrCutFilterAutoAdjustment 0; +/// Pointer to array tt__IrCutFilterAutoAdjustment* of size 0..unbounded. + tt__IrCutFilterAutoAdjustment* *IrCutFilterAutoAdjustment 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":ImagingSettingsExtension203. tt__ImagingSettingsExtension203* Extension 0; ///< Optional element. /// Pointer to soap context that manages this instance. @@ -15692,7 +15881,7 @@ class tt__IrCutFilterAutoAdjustment /// /// /// Element "BoundaryType" of type xs:string. - std::string BoundaryType 1; ///< Required element. + char* BoundaryType 1; ///< Required element. ///
/// Adjusts boundary exposure level for toggling Ir cut filter to on/off specified with unitless normalized value from +1.0 to -1.0. Zero is default and -1.0 is the darkest adjustment (Unitless). ///
@@ -15704,7 +15893,7 @@ class tt__IrCutFilterAutoAdjustment /// /// /// Element "ResponseTime" of type xs:duration. - xsd__duration* ResponseTime 0; ///< Optional element. + xsd__duration ResponseTime 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":IrCutFilterAutoAdjustmentExtension. tt__IrCutFilterAutoAdjustmentExtension* Extension 0; ///< Optional element. /// . @@ -15930,7 +16119,7 @@ class tt__ToneCompensation /// /// /// Element "Mode" of type xs:string. - std::string Mode 1; ///< Required element. + char* Mode 1; ///< Required element. ///
/// Optional level parameter specified with unitless normalized value from 0.0 to +1.0. ///
@@ -15993,7 +16182,7 @@ class tt__Defogging /// /// /// Element "Mode" of type xs:string. - std::string Mode 1; ///< Required element. + char* Mode 1; ///< Required element. ///
/// Optional level parameter specified with unitless normalized value from 0.0 to +1.0. ///
@@ -16216,7 +16405,7 @@ class tt__FocusConfiguration20 /// /// /// Attribute "AFMode" of type "http://www.onvif.org/ver10/schema":StringAttrList. - @ tt__StringAttrList* AFMode 0; ///< Optional attribute. + @ tt__StringAttrList AFMode 0; ///< Optional attribute. /// . /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -16291,8 +16480,8 @@ class tt__ItemList /// Value name pair as defined by the corresponding description. /// /// -/// Vector of SimpleItem of length 0..unbounded. - std::vector< +/// Size of SimpleItem array is 0..unbounded. + $ int __sizeSimpleItem 0; /// @note class _tt__ItemList_SimpleItem operations: /// - _tt__ItemList_SimpleItem* soap_new__tt__ItemList_SimpleItem(soap*) allocate and default initialize /// - _tt__ItemList_SimpleItem* soap_new__tt__ItemList_SimpleItem(soap*, int num) allocate and default initialize an array @@ -16311,20 +16500,20 @@ class tt__ItemList /// /// /// Attribute "Name" of type xs:string. - @ std::string Name 1; ///< Required attribute. + @ char* Name 1; ///< Required attribute. ///
/// Item value. The type is defined in the corresponding description. ///
/// /// Attribute "Value" of type xs:anySimpleType. @ xsd__anySimpleType Value 1; ///< Required attribute. - }> SimpleItem 0; ///< Multiple elements. + } *SimpleItem 0; ///< Multiple elements. ///
/// Complex value structure. ///
/// -/// Vector of ElementItem of length 0..unbounded. - std::vector< +/// Size of ElementItem array is 0..unbounded. + $ int __sizeElementItem 0; /// @note class _tt__ItemList_ElementItem operations: /// - _tt__ItemList_ElementItem* soap_new__tt__ItemList_ElementItem(soap*) allocate and default initialize /// - _tt__ItemList_ElementItem* soap_new__tt__ItemList_ElementItem(soap*, int num) allocate and default initialize an array @@ -16349,8 +16538,8 @@ class tt__ItemList /// /// /// Attribute "Name" of type xs:string. - @ std::string Name 1; ///< Required attribute. - }> ElementItem 0; ///< Multiple elements. + @ char* Name 1; ///< Required attribute. + } *ElementItem 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":ItemListExtension. tt__ItemListExtension* Extension 0; ///< Optional element. /// . @@ -16412,8 +16601,10 @@ class tt__ItemListExtension /// - int tt__AnalyticsEngineConfiguration::soap_type() returns SOAP_TYPE_tt__AnalyticsEngineConfiguration or derived type identifier class tt__AnalyticsEngineConfiguration { public: -/// Vector of tt__Config* of length 0..unbounded. - std::vector AnalyticsModule 0; ///< Multiple elements. +/// Size of array of tt__Config* is 0..unbounded. + $ int __sizeAnalyticsModule 0; +/// Pointer to array tt__Config* of size 0..unbounded. + tt__Config* *AnalyticsModule 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":AnalyticsEngineConfigurationExtension. tt__AnalyticsEngineConfigurationExtension* Extension 0; ///< Optional element. /// . @@ -16465,8 +16656,10 @@ class tt__AnalyticsEngineConfigurationExtension /// - int tt__RuleEngineConfiguration::soap_type() returns SOAP_TYPE_tt__RuleEngineConfiguration or derived type identifier class tt__RuleEngineConfiguration { public: -/// Vector of tt__Config* of length 0..unbounded. - std::vector Rule 0; ///< Multiple elements. +/// Size of array of tt__Config* is 0..unbounded. + $ int __sizeRule 0; +/// Pointer to array tt__Config* of size 0..unbounded. + tt__Config* *Rule 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":RuleEngineConfigurationExtension. tt__RuleEngineConfigurationExtension* Extension 0; ///< Optional element. /// . @@ -16529,13 +16722,13 @@ class tt__Config /// /// /// Attribute "Name" of type xs:string. - @ std::string Name 1; ///< Required attribute. + @ char* Name 1; ///< Required attribute. ///
/// The Type attribute specifies the type of rule and shall be equal to value of one of Name attributes of ConfigDescription elements returned by GetSupportedRules and GetSupportedAnalyticsModules command. ///
/// /// Attribute "Type" of type xs:QName. - @ xsd__QName Type 1; ///< Required attribute. + @ _QName Type 1; ///< Required attribute. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -16762,7 +16955,7 @@ class tt__OSDPosConfiguration /// /// /// Element "Type" of type xs:string. - std::string Type 1; ///< Required element. + char* Type 1; ///< Required element. /// Element "Pos" of type "http://www.onvif.org/ver10/schema":Vector. tt__Vector* Pos 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":OSDPosConfigurationExtension. @@ -16863,7 +17056,7 @@ class tt__OSDTextConfiguration /// /// /// Element "Type" of type xs:string. - std::string Type 1; ///< Required element. + char* Type 1; ///< Required element. ///
/// List of supported OSD date formats. This element shall be present when the value of Type field has Date or DateAndTime. The following DateFormat are defined:
    ///
  • M/d/yyyy - e.g. 3/6/2013
  • @@ -16878,7 +17071,7 @@ class tt__OSDTextConfiguration ///
/// /// Element "DateFormat" of type xs:string. - std::string* DateFormat 0; ///< Optional element. + char* DateFormat 0; ///< Optional element. ///
/// List of supported OSD time formats. This element shall be present when the value of Type field has Time or DateAndTime. The following TimeFormat are defined:
    ///
  • h:mm:ss tt - e.g. 2:14:21 PM
  • @@ -16889,7 +17082,7 @@ class tt__OSDTextConfiguration ///
/// /// Element "TimeFormat" of type xs:string. - std::string* TimeFormat 0; ///< Optional element. + char* TimeFormat 0; ///< Optional element. ///
/// Font size of the text in pt. ///
@@ -16913,7 +17106,7 @@ class tt__OSDTextConfiguration /// /// /// Element "PlainText" of type xs:string. - std::string* PlainText 0; ///< Optional element. + char* PlainText 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":OSDTextConfigurationExtension. tt__OSDTextConfigurationExtension* Extension 0; ///< Optional element. ///
@@ -17079,23 +17272,23 @@ class tt__ColorspaceRange class tt__ColorOptions { public: // BEGIN CHOICE - $ int __union_ColorOptions ; ///< Union _tt__union_ColorOptions selector: set to SOAP_UNION__tt__union_ColorOptions_ -/// Union for choice in tt__ColorOptions. - union _tt__union_ColorOptions - { +/// @note with one ore more elements with maxOccurs>1 prevents the use of a union. Instead of being members of a union, the following members are declared optional. Only one member should be non-NULL by choice. ///
/// List the supported color. ///
/// -/// Vector of tt__Color* of length 1..unbounded. - std::vector *ColorList ; ///< Choice of element (one of multiple choices). +/// Size of array of tt__Color* is 1..unbounded. + $ int __sizeColorList 0; +/// Pointer to array tt__Color* of size 1..unbounded. + tt__Color* *ColorList ; ///< Choice of element (one of multiple choices). ///
/// Define the range of color supported. ///
/// -/// Vector of tt__ColorspaceRange* of length 1..unbounded. - std::vector *ColorspaceRange ; ///< Choice of element (one of multiple choices). - } union_ColorOptions ; +/// Size of array of tt__ColorspaceRange* is 1..unbounded. + $ int __sizeColorspaceRange 0; +/// Pointer to array tt__ColorspaceRange* of size 1..unbounded. + tt__ColorspaceRange* *ColorspaceRange ; ///< Choice of element (one of multiple choices). // END OF CHOICE /// . /// @note Schema extensibility is user-definable. @@ -17197,8 +17390,10 @@ class tt__OSDTextOptions /// List of supported OSD text type. When a device indicates the supported number relating to Text type in MaximumNumberOfOSDs, the type shall be presented. ///
/// -/// Vector of std::string of length 1..unbounded. - std::vector Type 1; ///< Multiple elements. +/// Size of array of char* is 1..unbounded. + $ int __sizeType 1; +/// Pointer to array char* of size 1..unbounded. + char* *Type 1; ///< Multiple elements. ///
/// Range of the font size value. ///
@@ -17209,14 +17404,18 @@ class tt__OSDTextOptions /// List of supported date format. /// /// -/// Vector of std::string of length 0..unbounded. - std::vector DateFormat 0; ///< Multiple elements. +/// Size of array of char* is 0..unbounded. + $ int __sizeDateFormat 0; +/// Pointer to array char* of size 0..unbounded. + char* *DateFormat 0; ///< Multiple elements. ///
/// List of supported time format. ///
/// -/// Vector of std::string of length 0..unbounded. - std::vector TimeFormat 0; ///< Multiple elements. +/// Size of array of char* is 0..unbounded. + $ int __sizeTimeFormat 0; +/// Pointer to array char* of size 0..unbounded. + char* *TimeFormat 0; ///< Multiple elements. ///
/// List of supported font color. ///
@@ -17289,8 +17488,10 @@ class tt__OSDImgOptions /// List of available image URIs. /// /// -/// Vector of xsd__anyURI of length 1..unbounded. - std::vector ImagePath 1; ///< Multiple elements. +/// Size of array of xsd__anyURI is 1..unbounded. + $ int __sizeImagePath 1; +/// Pointer to array xsd__anyURI of size 1..unbounded. + xsd__anyURI *ImagePath 1; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":OSDImgOptionsExtension. tt__OSDImgOptionsExtension* Extension 0; ///< Optional element. ///
@@ -17298,7 +17499,7 @@ class tt__OSDImgOptions ///
/// /// Attribute "FormatsSupported" of type "http://www.onvif.org/ver10/schema":StringAttrList. - @ tt__StringAttrList* FormatsSupported 0; ///< Optional attribute. + @ tt__StringAttrList FormatsSupported 0; ///< Optional attribute. ///
/// The maximum size (in bytes) of the image that can be uploaded. ///
@@ -17447,8 +17648,10 @@ class tt__OSDConfigurationOptions /// List supported type of OSD configuration. When a device indicates the supported number for each types in MaximumNumberOfOSDs, related type shall be presented. A device shall return Option element relating to listed type. /// /// -/// Vector of enum tt__OSDType of length 1..unbounded. - std::vector Type 1; ///< Multiple elements. +/// Size of array of enum tt__OSDType is 1..unbounded. + $ int __sizeType 1; +/// Pointer to array enum tt__OSDType of size 1..unbounded. + enum tt__OSDType *Type 1; ///< Multiple elements. ///
/// List available OSD position type. Following are the pre-defined:
  • UpperLeft
  • ///
  • UpperRight
  • @@ -17457,8 +17660,10 @@ class tt__OSDConfigurationOptions ///
  • Custom
///
/// -/// Vector of std::string of length 1..unbounded. - std::vector PositionOption 1; ///< Multiple elements. +/// Size of array of char* is 1..unbounded. + $ int __sizePositionOption 1; +/// Pointer to array char* of size 1..unbounded. + char* *PositionOption 1; ///< Multiple elements. ///
/// Option of the OSD text configuration. This element shall be returned if the device is signaling the support for Text. ///
@@ -17580,7 +17785,7 @@ class tt__Vector2D /// /// /// Attribute "space" of type xs:anyURI. - @ xsd__anyURI* space 0; ///< Optional attribute. + @ xsd__anyURI space 0; ///< Optional attribute. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -17612,7 +17817,7 @@ class tt__Vector1D /// /// /// Attribute "space" of type xs:anyURI. - @ xsd__anyURI* space 0; ///< Optional attribute. + @ xsd__anyURI space 0; ///< Optional attribute. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -17680,7 +17885,7 @@ class tt__PTZStatus /// /// /// Element "Error" of type xs:string. - std::string* Error 0; ///< Optional element. + char* Error 0; ///< Optional element. ///
/// Specifies the UTC time when this status was generated. ///
@@ -17828,7 +18033,7 @@ class tt__Color /// /// /// Attribute "Colorspace" of type xs:anyURI. - @ xsd__anyURI* Colorspace 0; ///< Optional attribute. + @ xsd__anyURI Colorspace 0; ///< Optional attribute. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -18077,13 +18282,13 @@ class tt__LocationEntity /// /// /// Attribute "Entity" of type xs:string. - @ std::string* Entity 0; ///< Optional attribute. + @ char* Entity 0; ///< Optional attribute. ///
/// Optional entity token. ///
/// /// Attribute "Token" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - @ tt__ReferenceToken* Token 0; ///< Optional attribute. + @ tt__ReferenceToken Token 0; ///< Optional attribute. ///
/// If this value is true the entity cannot be deleted. ///
@@ -18095,7 +18300,7 @@ class tt__LocationEntity /// /// /// Attribute "GeoSource" of type xs:anyURI. - @ xsd__anyURI* GeoSource 0; ///< Optional attribute. + @ xsd__anyURI GeoSource 0; ///< Optional attribute. ///
/// If set the geo location is obtained internally. ///
@@ -18472,7 +18677,7 @@ class trt__VideoSourceMode /// /// /// Element "Description" of type "http://www.onvif.org/ver10/schema":Description. - tt__Description* Description 0; ///< Optional element. + tt__Description Description 0; ///< Optional element. /// Element "Extension" of type "http://www.onvif.org/ver10/media/wsdl":VideoSourceModeExtension. trt__VideoSourceModeExtension* Extension 0; ///< Optional element. ///
@@ -18607,8 +18812,10 @@ class _trt__GetVideoSourcesResponse /// List of existing Video Sources ///
/// -/// Vector of tt__VideoSource* of length 0..unbounded. - std::vector VideoSources 0; ///< Multiple elements. +/// Size of array of tt__VideoSource* is 0..unbounded. + $ int __sizeVideoSources 0; +/// Pointer to array tt__VideoSource* of size 0..unbounded. + tt__VideoSource* *VideoSources 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -18653,8 +18860,10 @@ class _trt__GetAudioSourcesResponse /// List of existing Audio Sources /// /// -/// Vector of tt__AudioSource* of length 0..unbounded. - std::vector AudioSources 0; ///< Multiple elements. +/// Size of array of tt__AudioSource* is 0..unbounded. + $ int __sizeAudioSources 0; +/// Pointer to array tt__AudioSource* of size 0..unbounded. + tt__AudioSource* *AudioSources 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -18699,8 +18908,10 @@ class _trt__GetAudioOutputsResponse /// List of existing Audio Outputs /// /// -/// Vector of tt__AudioOutput* of length 0..unbounded. - std::vector AudioOutputs 0; ///< Multiple elements. +/// Size of array of tt__AudioOutput* is 0..unbounded. + $ int __sizeAudioOutputs 0; +/// Pointer to array tt__AudioOutput* of size 0..unbounded. + tt__AudioOutput* *AudioOutputs 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -18732,7 +18943,7 @@ class _trt__CreateProfile /// /// /// Element "Token" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* Token 0; ///< Optional element. + tt__ReferenceToken Token 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -18855,8 +19066,10 @@ class _trt__GetProfilesResponse /// lists all profiles that exist in the media service /// /// -/// Vector of tt__Profile* of length 0..unbounded. - std::vector Profiles 0; ///< Multiple elements. +/// Size of array of tt__Profile* is 0..unbounded. + $ int __sizeProfiles 0; +/// Pointer to array tt__Profile* of size 0..unbounded. + tt__Profile* *Profiles 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -19837,8 +20050,10 @@ class _trt__GetVideoEncoderConfigurationsResponse /// This element contains a list of video encoder configurations. /// /// -/// Vector of tt__VideoEncoderConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__VideoEncoderConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__VideoEncoderConfiguration* of size 0..unbounded. + tt__VideoEncoderConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -19883,8 +20098,10 @@ class _trt__GetVideoSourceConfigurationsResponse /// This element contains a list of video source configurations. /// /// -/// Vector of tt__VideoSourceConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__VideoSourceConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__VideoSourceConfiguration* of size 0..unbounded. + tt__VideoSourceConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -19929,8 +20146,10 @@ class _trt__GetAudioEncoderConfigurationsResponse /// This element contains a list of audio encoder configurations. /// /// -/// Vector of tt__AudioEncoderConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__AudioEncoderConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__AudioEncoderConfiguration* of size 0..unbounded. + tt__AudioEncoderConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -19975,8 +20194,10 @@ class _trt__GetAudioSourceConfigurationsResponse /// This element contains a list of audio source configurations. /// /// -/// Vector of tt__AudioSourceConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__AudioSourceConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__AudioSourceConfiguration* of size 0..unbounded. + tt__AudioSourceConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20021,8 +20242,10 @@ class _trt__GetVideoAnalyticsConfigurationsResponse /// This element contains a list of VideoAnalytics configurations. /// /// -/// Vector of tt__VideoAnalyticsConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__VideoAnalyticsConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__VideoAnalyticsConfiguration* of size 0..unbounded. + tt__VideoAnalyticsConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20067,8 +20290,10 @@ class _trt__GetMetadataConfigurationsResponse /// This element contains a list of metadata configurations /// /// -/// Vector of tt__MetadataConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__MetadataConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__MetadataConfiguration* of size 0..unbounded. + tt__MetadataConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20113,8 +20338,10 @@ class _trt__GetAudioOutputConfigurationsResponse /// This element contains a list of audio output configurations /// /// -/// Vector of tt__AudioOutputConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__AudioOutputConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__AudioOutputConfiguration* of size 0..unbounded. + tt__AudioOutputConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20159,8 +20386,10 @@ class _trt__GetAudioDecoderConfigurationsResponse /// This element contains a list of audio decoder configurations /// /// -/// Vector of tt__AudioDecoderConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__AudioDecoderConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__AudioDecoderConfiguration* of size 0..unbounded. + tt__AudioDecoderConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20627,8 +20856,10 @@ class _trt__GetCompatibleVideoEncoderConfigurationsResponse /// Contains a list of video encoder configurations that are compatible with the specified media profile. /// /// -/// Vector of tt__VideoEncoderConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__VideoEncoderConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__VideoEncoderConfiguration* of size 0..unbounded. + tt__VideoEncoderConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20679,8 +20910,10 @@ class _trt__GetCompatibleVideoSourceConfigurationsResponse /// Contains a list of video source configurations that are compatible with the specified media profile. /// /// -/// Vector of tt__VideoSourceConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__VideoSourceConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__VideoSourceConfiguration* of size 0..unbounded. + tt__VideoSourceConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20731,8 +20964,10 @@ class _trt__GetCompatibleAudioEncoderConfigurationsResponse /// Contains a list of audio encoder configurations that are compatible with the specified media profile. /// /// -/// Vector of tt__AudioEncoderConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__AudioEncoderConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__AudioEncoderConfiguration* of size 0..unbounded. + tt__AudioEncoderConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20783,8 +21018,10 @@ class _trt__GetCompatibleAudioSourceConfigurationsResponse /// Contains a list of audio source configurations that are compatible with the specified media profile. /// /// -/// Vector of tt__AudioSourceConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__AudioSourceConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__AudioSourceConfiguration* of size 0..unbounded. + tt__AudioSourceConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20835,8 +21072,10 @@ class _trt__GetCompatibleVideoAnalyticsConfigurationsResponse /// Contains a list of video analytics configurations that are compatible with the specified media profile. /// /// -/// Vector of tt__VideoAnalyticsConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__VideoAnalyticsConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__VideoAnalyticsConfiguration* of size 0..unbounded. + tt__VideoAnalyticsConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20887,8 +21126,10 @@ class _trt__GetCompatibleMetadataConfigurationsResponse /// Contains a list of metadata configurations that are compatible with the specified media profile. /// /// -/// Vector of tt__MetadataConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__MetadataConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__MetadataConfiguration* of size 0..unbounded. + tt__MetadataConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20939,8 +21180,10 @@ class _trt__GetCompatibleAudioOutputConfigurationsResponse /// Contains a list of audio output configurations that are compatible with the specified media profile. /// /// -/// Vector of tt__AudioOutputConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__AudioOutputConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__AudioOutputConfiguration* of size 0..unbounded. + tt__AudioOutputConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -20991,8 +21234,10 @@ class _trt__GetCompatibleAudioDecoderConfigurationsResponse /// Contains a list of audio decoder configurations that are compatible with the specified media profile. /// /// -/// Vector of tt__AudioDecoderConfiguration* of length 0..unbounded. - std::vector Configurations 0; ///< Multiple elements. +/// Size of array of tt__AudioDecoderConfiguration* is 0..unbounded. + $ int __sizeConfigurations 0; +/// Pointer to array tt__AudioDecoderConfiguration* of size 0..unbounded. + tt__AudioDecoderConfiguration* *Configurations 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -21434,13 +21679,13 @@ class _trt__GetVideoSourceConfigurationOptions /// /// /// Element "ConfigurationToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ConfigurationToken 0; ///< Optional element. + tt__ReferenceToken ConfigurationToken 0; ///< Optional element. ///
/// Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. ///
/// /// Element "ProfileToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ProfileToken 0; ///< Optional element. + tt__ReferenceToken ProfileToken 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -21492,13 +21737,13 @@ class _trt__GetVideoEncoderConfigurationOptions /// /// /// Element "ConfigurationToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ConfigurationToken 0; ///< Optional element. + tt__ReferenceToken ConfigurationToken 0; ///< Optional element. ///
/// Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. ///
/// /// Element "ProfileToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ProfileToken 0; ///< Optional element. + tt__ReferenceToken ProfileToken 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -21546,13 +21791,13 @@ class _trt__GetAudioSourceConfigurationOptions /// /// /// Element "ConfigurationToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ConfigurationToken 0; ///< Optional element. + tt__ReferenceToken ConfigurationToken 0; ///< Optional element. ///
/// Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. ///
/// /// Element "ProfileToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ProfileToken 0; ///< Optional element. + tt__ReferenceToken ProfileToken 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -21604,13 +21849,13 @@ class _trt__GetAudioEncoderConfigurationOptions /// /// /// Element "ConfigurationToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ConfigurationToken 0; ///< Optional element. + tt__ReferenceToken ConfigurationToken 0; ///< Optional element. ///
/// Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. ///
/// /// Element "ProfileToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ProfileToken 0; ///< Optional element. + tt__ReferenceToken ProfileToken 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -21662,13 +21907,13 @@ class _trt__GetMetadataConfigurationOptions /// /// /// Element "ConfigurationToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ConfigurationToken 0; ///< Optional element. + tt__ReferenceToken ConfigurationToken 0; ///< Optional element. ///
/// Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. ///
/// /// Element "ProfileToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ProfileToken 0; ///< Optional element. + tt__ReferenceToken ProfileToken 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -21720,13 +21965,13 @@ class _trt__GetAudioOutputConfigurationOptions /// /// /// Element "ConfigurationToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ConfigurationToken 0; ///< Optional element. + tt__ReferenceToken ConfigurationToken 0; ///< Optional element. ///
/// Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. ///
/// /// Element "ProfileToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ProfileToken 0; ///< Optional element. + tt__ReferenceToken ProfileToken 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -21778,13 +22023,13 @@ class _trt__GetAudioDecoderConfigurationOptions /// /// /// Element "ConfigurationToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ConfigurationToken 0; ///< Optional element. + tt__ReferenceToken ConfigurationToken 0; ///< Optional element. ///
/// Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. ///
/// /// Element "ProfileToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ProfileToken 0; ///< Optional element. + tt__ReferenceToken ProfileToken 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -22177,8 +22422,10 @@ class _trt__GetVideoSourceModesResponse /// Return the information for specified video source mode. /// /// -/// Vector of trt__VideoSourceMode* of length 1..unbounded. - std::vector VideoSourceModes 1; ///< Multiple elements. +/// Size of array of trt__VideoSourceMode* is 1..unbounded. + $ int __sizeVideoSourceModes 1; +/// Pointer to array trt__VideoSourceMode* of size 1..unbounded. + trt__VideoSourceMode* *VideoSourceModes 1; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -22262,7 +22509,7 @@ class _trt__GetOSDs /// /// /// Element "ConfigurationToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* ConfigurationToken 0; ///< Optional element. + tt__ReferenceToken ConfigurationToken 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -22287,8 +22534,10 @@ class _trt__GetOSDsResponse /// This element contains a list of requested OSDs. /// /// -/// Vector of tt__OSDConfiguration* of length 0..unbounded. - std::vector OSDs 0; ///< Multiple elements. +/// Size of array of tt__OSDConfiguration* is 0..unbounded. + $ int __sizeOSDs 0; +/// Pointer to array tt__OSDConfiguration* of size 0..unbounded. + tt__OSDConfiguration* *OSDs 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -22664,7 +22913,7 @@ class tptz__Capabilities /// /// /// Attribute "MoveAndTrack" of type "http://www.onvif.org/ver10/schema":StringList. - @ tt__StringList* MoveAndTrack 0; ///< Optional attribute. + @ tt__StringList MoveAndTrack 0; ///< Optional attribute. /// . /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -22760,8 +23009,10 @@ class _tptz__GetNodesResponse /// A list of the existing PTZ Nodes on the device. /// /// -/// Vector of tt__PTZNode* of length 0..unbounded. - std::vector PTZNode 0; ///< Multiple elements. +/// Size of array of tt__PTZNode* is 0..unbounded. + $ int __sizePTZNode 0; +/// Pointer to array tt__PTZNode* of size 0..unbounded. + tt__PTZNode* *PTZNode 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -22858,8 +23109,10 @@ class _tptz__GetConfigurationsResponse /// A list of all existing PTZConfigurations on the device. /// /// -/// Vector of tt__PTZConfiguration* of length 0..unbounded. - std::vector PTZConfiguration 0; ///< Multiple elements. +/// Size of array of tt__PTZConfiguration* is 0..unbounded. + $ int __sizePTZConfiguration 0; +/// Pointer to array tt__PTZConfiguration* of size 0..unbounded. + tt__PTZConfiguration* *PTZConfiguration 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -23128,8 +23381,10 @@ class _tptz__GetPresetsResponse /// A list of presets which are available for the requested MediaProfile. /// /// -/// Vector of tt__PTZPreset* of length 0..unbounded. - std::vector Preset 0; ///< Multiple elements. +/// Size of array of tt__PTZPreset* is 0..unbounded. + $ int __sizePreset 0; +/// Pointer to array tt__PTZPreset* of size 0..unbounded. + tt__PTZPreset* *Preset 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -23161,13 +23416,13 @@ class _tptz__SetPreset /// /// /// Element "PresetName" of type xs:string. - std::string* PresetName 0; ///< Optional element. + char* PresetName 0; ///< Optional element. ///
/// A requested preset token. ///
/// /// Element "PresetToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* PresetToken 0; ///< Optional element. + tt__ReferenceToken PresetToken 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -23491,7 +23746,7 @@ class _tptz__ContinuousMove /// /// /// Element "Timeout" of type xs:duration. - xsd__duration* Timeout 0; ///< Optional element. + xsd__duration Timeout 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -23798,8 +24053,10 @@ class _tptz__GetPresetTours /// - int _tptz__GetPresetToursResponse::soap_type() returns SOAP_TYPE__tptz__GetPresetToursResponse or derived type identifier class _tptz__GetPresetToursResponse { public: -/// Vector of tt__PresetTour* of length 0..unbounded. - std::vector PresetTour 0; ///< Multiple elements. +/// Size of array of tt__PresetTour* is 0..unbounded. + $ int __sizePresetTour 0; +/// Pointer to array tt__PresetTour* of size 0..unbounded. + tt__PresetTour* *PresetTour 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -23869,7 +24126,7 @@ class _tptz__GetPresetTourOptions /// Element "ProfileToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. tt__ReferenceToken ProfileToken 1; ///< Required element. /// Element "PresetTourToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* PresetTourToken 0; ///< Optional element. + tt__ReferenceToken PresetTourToken 0; ///< Optional element. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -24120,8 +24377,10 @@ class _tptz__GetCompatibleConfigurationsResponse /// A list of all existing PTZConfigurations on the NVT that is suitable to be added to the addressed media profile. /// /// -/// Vector of tt__PTZConfiguration* of length 0..unbounded. - std::vector PTZConfiguration 0; ///< Multiple elements. +/// Size of array of tt__PTZConfiguration* is 0..unbounded. + $ int __sizePTZConfiguration 0; +/// Pointer to array tt__PTZConfiguration* of size 0..unbounded. + tt__PTZConfiguration* *PTZConfiguration 0; ///< Multiple elements. /// Pointer to soap context that manages this instance. struct soap *soap ; }; @@ -24153,7 +24412,7 @@ class _tptz__MoveAndStartTracking /// /// /// Element "PresetToken" of type "http://www.onvif.org/ver10/schema":ReferenceToken. - tt__ReferenceToken* PresetToken 0; ///< Optional element. + tt__ReferenceToken PresetToken 0; ///< Optional element. ///
/// The geolocation of the target position. ///
@@ -24177,7 +24436,7 @@ class _tptz__MoveAndStartTracking /// /// /// Element "ObjectID" of type xs:integer. - xsd__integer* ObjectID 0; ///< Optional element. + xsd__integer ObjectID 0; ///< Optional element. /// /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -24395,7 +24654,7 @@ class tt__VideoSourceConfiguration : public tt__ConfigurationEntity /// /// /// Attribute "ViewMode" of type xs:string. - @ std::string* ViewMode 0; ///< Optional attribute. + @ char* ViewMode 0; ///< Optional attribute. /// . /// @note Schema extensibility is user-definable. /// Consult the protocol documentation to change or insert declarations. @@ -24527,8 +24786,10 @@ class tt__JpegOptions2 : public tt__JpegOptions /// List of supported image sizes. /// /// -/// Vector of tt__VideoResolution* of length 1..unbounded. - std::vector ResolutionsAvailable 1; ///< Multiple elements. +/// Size of array of tt__VideoResolution* is 1..unbounded. + $ int __sizeResolutionsAvailable 1; +/// Pointer to array tt__VideoResolution* of size 1..unbounded. + tt__VideoResolution* *ResolutionsAvailable 1; ///< Multiple elements. ///
/// Supported frame rate in fps (frames per second). ///
@@ -24581,8 +24842,10 @@ class tt__Mpeg4Options2 : public tt__Mpeg4Options /// List of supported image sizes. /// /// -/// Vector of tt__VideoResolution* of length 1..unbounded. - std::vector ResolutionsAvailable 1; ///< Multiple elements. +/// Size of array of tt__VideoResolution* is 1..unbounded. + $ int __sizeResolutionsAvailable 1; +/// Pointer to array tt__VideoResolution* of size 1..unbounded. + tt__VideoResolution* *ResolutionsAvailable 1; ///< Multiple elements. ///
/// Supported group of Video frames length. This value typically corresponds to the I-Frame distance. ///
@@ -24605,8 +24868,10 @@ class tt__Mpeg4Options2 : public tt__Mpeg4Options /// List of supported MPEG-4 profiles. /// /// -/// Vector of enum tt__Mpeg4Profile of length 1..unbounded. - std::vector Mpeg4ProfilesSupported 1; ///< Multiple elements. +/// Size of array of enum tt__Mpeg4Profile is 1..unbounded. + $ int __sizeMpeg4ProfilesSupported 1; +/// Pointer to array enum tt__Mpeg4Profile of size 1..unbounded. + enum tt__Mpeg4Profile *Mpeg4ProfilesSupported 1; ///< Multiple elements. END OF INHERITED FROM tt__Mpeg4Options */ ///
/// Supported range of encoded bitrate in kbps. @@ -24647,8 +24912,10 @@ class tt__H264Options2 : public tt__H264Options /// List of supported image sizes. ///
/// -/// Vector of tt__VideoResolution* of length 1..unbounded. - std::vector ResolutionsAvailable 1; ///< Multiple elements. +/// Size of array of tt__VideoResolution* is 1..unbounded. + $ int __sizeResolutionsAvailable 1; +/// Pointer to array tt__VideoResolution* of size 1..unbounded. + tt__VideoResolution* *ResolutionsAvailable 1; ///< Multiple elements. ///
/// Supported group of Video frames length. This value typically corresponds to the I-Frame distance. ///
@@ -24671,8 +24938,10 @@ class tt__H264Options2 : public tt__H264Options /// List of supported H.264 profiles. /// /// -/// Vector of enum tt__H264Profile of length 1..unbounded. - std::vector H264ProfilesSupported 1; ///< Multiple elements. +/// Size of array of enum tt__H264Profile is 1..unbounded. + $ int __sizeH264ProfilesSupported 1; +/// Pointer to array enum tt__H264Profile of size 1..unbounded. + enum tt__H264Profile *H264ProfilesSupported 1; ///< Multiple elements. END OF INHERITED FROM tt__H264Options */ ///
/// Supported range of encoded bitrate in kbps. @@ -24970,7 +25239,7 @@ class tt__MetadataConfiguration : public tt__ConfigurationEntity ///
/// /// Attribute "CompressionType" of type xs:string. - @ std::string* CompressionType 0; ///< Optional attribute. + @ char* CompressionType 0; ///< Optional attribute. ///
/// Optional parameter to configure if the metadata stream shall contain the Geo Location coordinates of each target. ///
@@ -25096,7 +25365,7 @@ class tt__AudioOutputConfiguration : public tt__ConfigurationEntity /// /// /// Element "SendPrimacy" of type xs:anyURI. - xsd__anyURI* SendPrimacy 0; ///< Optional element. + xsd__anyURI SendPrimacy 0; ///< Optional element. ///
/// Volume setting of the output. The applicable range is defined via the option AudioOutputOptions.OutputLevelRange. ///
@@ -25247,7 +25516,7 @@ class tt__NetworkInterface : public tt__DeviceEntity class tt__CertificateUsage { public: /// __item wraps simpleContent of type xs:string. - std::string __item ; + char* __item ; /// Attribute "Critical" of type xs:boolean. @ bool Critical 1; ///< Required attribute. /// Pointer to soap context that manages this instance. @@ -25322,7 +25591,7 @@ class tt__PTZNode : public tt__DeviceEntity /// /// /// Element "Name" of type "http://www.onvif.org/ver10/schema":Name. - tt__Name* Name 0; ///< Optional element. + tt__Name Name 0; ///< Optional element. ///
/// A list of Coordinate Systems available for the PTZ Node. For each Coordinate System, the PTZ Node MUST specify its allowed range. ///
@@ -25345,8 +25614,10 @@ class tt__PTZNode : public tt__DeviceEntity /// A list of supported Auxiliary commands. If the list is not empty, the Auxiliary Operations MUST be available for this PTZ Node. /// /// -/// Vector of tt__AuxiliaryData of length 0..unbounded. - std::vector AuxiliaryCommands 0; ///< Multiple elements. +/// Size of array of tt__AuxiliaryData is 0..unbounded. + $ int __sizeAuxiliaryCommands 0; +/// Pointer to array tt__AuxiliaryData of size 0..unbounded. + tt__AuxiliaryData *AuxiliaryCommands 0; ///< Multiple elements. /// Element "Extension" of type "http://www.onvif.org/ver10/schema":PTZNodeExtension. tt__PTZNodeExtension* Extension 0; ///< Optional element. ///
@@ -25414,37 +25685,37 @@ class tt__PTZConfiguration : public tt__ConfigurationEntity ///
/// /// Element "DefaultAbsolutePantTiltPositionSpace" of type xs:anyURI. - xsd__anyURI* DefaultAbsolutePantTiltPositionSpace 0; ///< Optional element. + xsd__anyURI DefaultAbsolutePantTiltPositionSpace 0; ///< Optional element. ///
/// If the PTZ Node supports absolute zoom movements, it shall specify one Absolute Zoom Position Space as default. ///
/// /// Element "DefaultAbsoluteZoomPositionSpace" of type xs:anyURI. - xsd__anyURI* DefaultAbsoluteZoomPositionSpace 0; ///< Optional element. + xsd__anyURI DefaultAbsoluteZoomPositionSpace 0; ///< Optional element. ///
/// If the PTZ Node supports relative Pan/Tilt movements, it shall specify one RelativePan/Tilt Translation Space as default. ///
/// /// Element "DefaultRelativePanTiltTranslationSpace" of type xs:anyURI. - xsd__anyURI* DefaultRelativePanTiltTranslationSpace 0; ///< Optional element. + xsd__anyURI DefaultRelativePanTiltTranslationSpace 0; ///< Optional element. ///
/// If the PTZ Node supports relative zoom movements, it shall specify one Relative Zoom Translation Space as default. ///
/// /// Element "DefaultRelativeZoomTranslationSpace" of type xs:anyURI. - xsd__anyURI* DefaultRelativeZoomTranslationSpace 0; ///< Optional element. + xsd__anyURI DefaultRelativeZoomTranslationSpace 0; ///< Optional element. ///
/// If the PTZ Node supports continuous Pan/Tilt movements, it shall specify one Continuous Pan/Tilt Velocity Space as default. ///
/// /// Element "DefaultContinuousPanTiltVelocitySpace" of type xs:anyURI. - xsd__anyURI* DefaultContinuousPanTiltVelocitySpace 0; ///< Optional element. + xsd__anyURI DefaultContinuousPanTiltVelocitySpace 0; ///< Optional element. ///
/// If the PTZ Node supports continuous zoom movements, it shall specify one Continuous Zoom Velocity Space as default. ///
/// /// Element "DefaultContinuousZoomVelocitySpace" of type xs:anyURI. - xsd__anyURI* DefaultContinuousZoomVelocitySpace 0; ///< Optional element. + xsd__anyURI DefaultContinuousZoomVelocitySpace 0; ///< Optional element. ///
/// If the PTZ Node supports absolute or relative PTZ movements, it shall specify corresponding default Pan/Tilt and Zoom speeds. ///
@@ -25456,7 +25727,7 @@ class tt__PTZConfiguration : public tt__ConfigurationEntity /// /// /// Element "DefaultPTZTimeout" of type xs:duration. - xsd__duration* DefaultPTZTimeout 0; ///< Optional element. + xsd__duration DefaultPTZTimeout 0; ///< Optional element. ///
/// The Pan/Tilt limits element should be present for a PTZ Node that supports an absolute Pan/Tilt. If the element is present it signals the support for configurable Pan/Tilt limits. If limits are enabled, the Pan/Tilt movements shall always stay within the specified range. The Pan/Tilt limits are disabled by setting the limits to INF or +INF. ///
diff --git a/libraries/AP_ONVIF/soap/update_onvif_wsdl2h.sh b/libraries/AP_ONVIF/soap/update_onvif_wsdl2h.sh index b3f54e3079..494ed5441c 100755 --- a/libraries/AP_ONVIF/soap/update_onvif_wsdl2h.sh +++ b/libraries/AP_ONVIF/soap/update_onvif_wsdl2h.sh @@ -1,5 +1,5 @@ cp ../../../modules/gsoap/gsoap/typemap.dat . -wsdl2h -O4 -P -x -o onvif.h \ +wsdl2h -O4 -P -s -x -o onvif.h \ http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl \ http://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl \ http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl @@ -8,4 +8,4 @@ wsdl2h -O4 -P -x -o onvif.h \ # http://www.onvif.org/onvif/ver20/imaging/wsdl/imaging.wsdl \ # http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl \ -# http://www.onvif.org/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl \ No newline at end of file +# http://www.onvif.org/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl