in sample_app/onvif_camera_mock/artifacts/onvif_srvd/src/ServiceDevice.cpp [20:71]
int DeviceBindingService::GetServices(_tds__GetServices *tds__GetServices, _tds__GetServicesResponse &tds__GetServicesResponse)
{
DEBUG_MSG("Device: %s\n", __FUNCTION__);
ServiceContext* ctx = (ServiceContext*)this->soap->user;
std::string XAddr = ctx->getXAddr(this->soap);
//Device Service
tds__GetServicesResponse.Service.push_back(soap_new_tds__Service(this->soap));
tds__GetServicesResponse.Service.back()->Namespace = "http://www.onvif.org/ver10/device/wsdl";
tds__GetServicesResponse.Service.back()->XAddr = XAddr;
tds__GetServicesResponse.Service.back()->Version = soap_new_req_tt__OnvifVersion(this->soap, 2, 5);
if( tds__GetServices->IncludeCapability )
{
tds__GetServicesResponse.Service.back()->Capabilities = soap_new__tds__Service_Capabilities(this->soap);
tds__DeviceServiceCapabilities *capabilities = ctx->getDeviceServiceCapabilities(this->soap);
tds__GetServicesResponse.Service.back()->Capabilities->__any = soap_dom_element(this->soap, NULL, "tds:Capabilities", capabilities, capabilities->soap_type());
}
tds__GetServicesResponse.Service.push_back(soap_new_tds__Service(this->soap));
tds__GetServicesResponse.Service.back()->Namespace = "http://www.onvif.org/ver10/media/wsdl";
tds__GetServicesResponse.Service.back()->XAddr = XAddr;
tds__GetServicesResponse.Service.back()->Version = soap_new_req_tt__OnvifVersion(this->soap, 2, 6);
if (tds__GetServices->IncludeCapability)
{
tds__GetServicesResponse.Service.back()->Capabilities = soap_new__tds__Service_Capabilities(this->soap);
trt__Capabilities *capabilities = ctx->getMediaServiceCapabilities(this->soap);
tds__GetServicesResponse.Service.back()->Capabilities->__any = soap_dom_element(this->soap, NULL, "trt:Capabilities", capabilities, capabilities->soap_type());
}
if (ctx->get_ptz_node()->enable) {
tds__GetServicesResponse.Service.push_back(soap_new_tds__Service(this->soap));
tds__GetServicesResponse.Service.back()->Namespace = "http://www.onvif.org/ver20/ptz/wsdl";
tds__GetServicesResponse.Service.back()->XAddr = XAddr;
tds__GetServicesResponse.Service.back()->Version = soap_new_req_tt__OnvifVersion(this->soap, 2, 4);
if (tds__GetServices->IncludeCapability)
{
tds__GetServicesResponse.Service.back()->Capabilities = soap_new__tds__Service_Capabilities(this->soap);
tptz__Capabilities *capabilities = ctx->getPTZServiceCapabilities(this->soap);
tds__GetServicesResponse.Service.back()->Capabilities->__any = soap_dom_element(this->soap, NULL, "tptz:Capabilities", capabilities, capabilities->soap_type());
}
}
return SOAP_OK;
}