int startOnvifApp() { int result = startIPCComm(); if (!isRetCodeSuccess(result)) { logInfo("Connect IPC Error"); return result; } if (!isRetCodeSuccess(getLocalIPInfo())) { return result; } if (!isRetCodeSuccess(getHardwareIdInfo())) { return result; } result = startProbeServer(); if (!isRetCodeSuccess(result)) { logInfo("Start Onvif Probe Server Error"); return result; } result = startDeviceService(); if (!isRetCodeSuccess(result)) { logInfo("Start Onvif Device Service Error"); stopProbeServer(); return result; } return result; }
SOAP_FMAC5 int SOAP_FMAC6 __tptz__Stop(struct soap* soap, struct _tptz__Stop *tptz__Stop, struct _tptz__StopResponse *tptz__StopResponse) { logInfo("__tptz__Stop"); OnvifPTZStopInfo onvifPTZStopInfo; memset(&onvifPTZStopInfo, 0, sizeof(OnvifPTZStopInfo)); if (NULL != tptz__Stop->ProfileToken) { logInfo("__tptz__Stop token %s", tptz__Stop->ProfileToken); } if (NULL != tptz__Stop->Zoom) { logInfo("__tptz__Stop Zoom %d", *tptz__Stop->Zoom); onvifPTZStopInfo.stopZoom = xsd__boolean__true_ == *tptz__Stop->Zoom ? ENABLE_YES : ENABLE_NO; } if (NULL != tptz__Stop->PanTilt) { logInfo("__tptz__Stop PanTilt %d", *tptz__Stop->PanTilt); onvifPTZStopInfo.stopPt = xsd__boolean__true_ == *tptz__Stop->PanTilt ? ENABLE_YES : ENABLE_NO; } if (!isRetCodeSuccess(setPTZStopInfo(&onvifPTZStopInfo))) { logInfo("__tptz__Stop setPTZStopInfo failed"); return getOnvifPTZSoapActionNotSupport(soap, "PTZ Stop", "setPTZStopInfo failed"); } logInfo("__tptz__Stop success"); return SOAP_OK; }
SOAP_FMAC5 int SOAP_FMAC6 __tptz__GotoPreset(struct soap* soap, struct _tptz__GotoPreset *tptz__GotoPreset, struct _tptz__GotoPresetResponse *tptz__GotoPresetResponse) { logInfo("__tptz__GotoPreset"); if (NULL != tptz__GotoPreset->ProfileToken) { logInfo("__tptz__GotoPreset profile token %s", tptz__GotoPreset->ProfileToken); } logInfo("__tptz__GotoPreset Preset token %s", tptz__GotoPreset->PresetToken); int index = getIndexFromPTZPresetToken(tptz__GotoPreset->PresetToken); if (index < 1) { logInfo("__tptz__GotoPreset get index %d failed", index); return getOnvifPTZSoapActionNotSupport(soap, "PTZ GotoPreset", "gotoPTZPreset failed"); } OnvifPTZPreset onvifPTZPreset; onvifPTZPreset.index = index; if (!isRetCodeSuccess(gotoPTZPreset(&onvifPTZPreset))) { logInfo("__tptz__GotoPreset gotoPTZPreset index %d failed", index); return getOnvifPTZSoapActionNotSupport(soap, "PTZ GotoPreset", "gotoPTZPreset failed"); } if (RESULT_OK != onvifPTZPreset.error) { logInfo("__tptz__GotoPreset gotoPTZPreset onvifPTZPreset error code %d", onvifPTZPreset.error); return handleOnvifPTZPresetActionError(soap, &onvifPTZPreset); } return SOAP_OK; }
int getDefaultPTZTimeout() { int result = PTZ_DEFAULT_TIMEOUT; OnvifPTZConfigurationInfo onvifPTZConfigurationInfo; if (isRetCodeSuccess(getPTZConfigurationInfo(&onvifPTZConfigurationInfo))) { result = onvifPTZConfigurationInfo.defaultTimeout; } return result; }
SOAP_FMAC5 int SOAP_FMAC6 __tptz__ContinuousMove(struct soap* soap, struct _tptz__ContinuousMove *tptz__ContinuousMove, struct _tptz__ContinuousMoveResponse *tptz__ContinuousMoveResponse) { logInfo("__tptz__ContinuousMove"); OnvifPTZContinousMoveInfo onvifPTZContinousMoveInfo; memset(&onvifPTZContinousMoveInfo, 0, sizeof(OnvifPTZContinousMoveInfo)); if (NULL != tptz__ContinuousMove->Timeout) { logInfo("__tptz__ContinuousMove timeout %d", *(tptz__ContinuousMove->Timeout)); onvifPTZContinousMoveInfo.setTimeOut = true; onvifPTZContinousMoveInfo.timeOut = *(tptz__ContinuousMove->Timeout); } if (NULL != tptz__ContinuousMove->ProfileToken) { logInfo("__tptz__ContinuousMove token %s", tptz__ContinuousMove->ProfileToken); } if (NULL != tptz__ContinuousMove->Velocity) { if (NULL != tptz__ContinuousMove->Velocity->PanTilt) { onvifPTZContinousMoveInfo.setPt = true; onvifPTZContinousMoveInfo.x = tptz__ContinuousMove->Velocity->PanTilt->x; onvifPTZContinousMoveInfo.y = tptz__ContinuousMove->Velocity->PanTilt->y; if (NULL != tptz__ContinuousMove->Velocity->PanTilt->space) logInfo("__tptz__ContinuousMove pantilt x:%f y:%f space:%s", tptz__ContinuousMove->Velocity->PanTilt->x, tptz__ContinuousMove->Velocity->PanTilt->y, tptz__ContinuousMove->Velocity->PanTilt->space); else logInfo("__tptz__ContinuousMove pantilt x:%f y:%f", tptz__ContinuousMove->Velocity->PanTilt->x, tptz__ContinuousMove->Velocity->PanTilt->y); } if (NULL != tptz__ContinuousMove->Velocity->Zoom) { onvifPTZContinousMoveInfo.setZoom = true; onvifPTZContinousMoveInfo.zoom = tptz__ContinuousMove->Velocity->Zoom->x; if (NULL != tptz__ContinuousMove->Velocity->Zoom->space) logInfo("__tptz__ContinuousMove Zoom x:%f space:%s", tptz__ContinuousMove->Velocity->Zoom->x, tptz__ContinuousMove->Velocity->Zoom->space); else logInfo("__tptz__ContinuousMove Zoom x:%f", tptz__ContinuousMove->Velocity->Zoom->x); } } logInfo("__tptz__ContinuousMove setPTZContinousMoveInfo start"); if (!isRetCodeSuccess( setPTZContinousMoveInfo(&onvifPTZContinousMoveInfo))) { logInfo("__tptz__ContinuousMove setPTZContinousMoveInfo failed"); return getOnvifPTZSoapActionNotSupport(soap, "PTZ ContinuousMove", "setPTZContinousMoveInfo failed"); } logInfo("__tptz__ContinuousMove setPTZContinousMoveInfo success"); return SOAP_OK; }
int getHardwareIdInfo() { setRunParamUrnHardwareId(onvifRunParam.hardwareId); OnvifDeviceInfo onvifDeviceInfo; int result = getDeviceInfo(&onvifDeviceInfo); if (!isRetCodeSuccess(result)) { logInfo("Get Device Info Error"); return result; } return RET_CODE_SUCCESS; }
SOAP_FMAC5 int SOAP_FMAC6 __tptz__SetPreset(struct soap* soap, struct _tptz__SetPreset *tptz__SetPreset, struct _tptz__SetPresetResponse *tptz__SetPresetResponse) { logInfo("__tptz__SetPreset"); if (NULL != tptz__SetPreset->ProfileToken) { logInfo("__tptz__SetPreset profile token %s", tptz__SetPreset->ProfileToken); } if (NULL != tptz__SetPreset->PresetName) { logInfo("__tptz__SetPreset Preset Name %s", tptz__SetPreset->PresetName); } int index = 0; if (NULL != tptz__SetPreset->PresetToken) { logInfo("__tptz__SetPreset Preset Token %s", tptz__SetPreset->PresetToken); index = getIndexFromPTZPresetToken(tptz__SetPreset->PresetToken); } if (index < 0) { logInfo("__tptz__SetPreset get Preset index error %d", index); return getOnvifPTZSoapActionNotSupport(soap, "PTZ SetPreset", "setPTZPreset get index failed"); } OnvifPTZPreset onvifPTZPreset; onvifPTZPreset.index = index; if (NULL != tptz__SetPreset->PresetName) { strcpy(onvifPTZPreset.name, tptz__SetPreset->PresetName); } if (!isRetCodeSuccess(setPTZPreset(&onvifPTZPreset))) { logInfo("__tptz__SetPreset setPTZPreset index %d failed", index); return getOnvifPTZSoapActionNotSupport(soap, "PTZ SetPreset", "setPTZPreset failed"); } if (RESULT_OK != onvifPTZPreset.error) { logInfo("__tptz__SetPreset setPTZPreset onvifPTZPreset error code %d", onvifPTZPreset.error); return handleOnvifPTZPresetActionError(soap, &onvifPTZPreset); } if (onvifPTZPreset.index < 1) { logInfo("__tptz__SetPreset setPTZPreset index %d failed", index); return getOnvifPTZSoapActionNotSupport(soap, "PTZ SetPreset", "setPTZPreset failed"); } if ((index > 0) && (onvifPTZPreset.index == index)) { tptz__SetPresetResponse->PresetToken = soap_strdup(soap, tptz__SetPreset->PresetToken); } else { tptz__SetPresetResponse->PresetToken = getPTZPresetToken(soap, onvifPTZPreset.index); } return SOAP_OK; }
int getLocalIPInfo() { if (strlen(onvifRunParam.address) > 0) { return RET_CODE_SUCCESS; } OnvifNetCardInfo onvifNetCardInfo; int result = getNetCardInfo(&onvifNetCardInfo); if (!isRetCodeSuccess(result)) { logInfo("Get Net Card Info Error"); return result; } if (onvifNetCardInfo.size < 1) { result = RET_CODE_ERROR_NULL_VALUE; logInfo("Get Net Card Info Error"); return result; } if (strlen(onvifRunParam.ip) < 1) { result = RET_CODE_ERROR_INVALID_IP; logInfo("Get Local IP Error"); return result; } return RET_CODE_SUCCESS; }
SOAP_FMAC5 int SOAP_FMAC6 __tptz__GetPresets(struct soap* soap, struct _tptz__GetPresets *tptz__GetPresets, struct _tptz__GetPresetsResponse *tptz__GetPresetsResponse) { logInfo("__tptz__GetPresets"); OnvifPTZAllPresets onvifPTZAllPresets; if (!isRetCodeSuccess(getPTZAllPresets(&onvifPTZAllPresets))) { logInfo("__tptz__GetPresets getPTZAllPresets failed"); return getOnvifPTZSoapActionNotSupport(soap, "PTZ GetPresets", "getPTZAllPresets failed"); } tptz__GetPresetsResponse->__sizePreset = onvifPTZAllPresets.size; if (onvifPTZAllPresets.size > 0) { tptz__GetPresetsResponse->Preset = (struct tt__PTZPreset*) my_soap_malloc(soap, sizeof(struct tt__PTZPreset) * onvifPTZAllPresets.size); int i; for (i = 0; i < onvifPTZAllPresets.size; i++) { getPreset(soap, &(tptz__GetPresetsResponse->Preset[i]), &(onvifPTZAllPresets.presets[i])); } } else tptz__GetPresetsResponse->Preset = NULL; return SOAP_OK; }