Esempio n. 1
0
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;
}
Esempio n. 2
0
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;
}
Esempio n. 3
0
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;
}
Esempio n. 4
0
int getDefaultPTZTimeout() {
	int result = PTZ_DEFAULT_TIMEOUT;
	OnvifPTZConfigurationInfo onvifPTZConfigurationInfo;
	if (isRetCodeSuccess(getPTZConfigurationInfo(&onvifPTZConfigurationInfo))) {
		result = onvifPTZConfigurationInfo.defaultTimeout;
	}
	return result;
}
Esempio n. 5
0
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;
}
Esempio n. 6
0
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;
}
Esempio n. 7
0
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;
}
Esempio n. 8
0
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;
}
Esempio n. 9
0
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;
}