void test_SetPTZContinousMoveInfo() {
	OnvifPTZContinousMoveInfo onvifPTZContinousMoveInfo;
	memset(&onvifPTZContinousMoveInfo, 0, sizeof(OnvifPTZContinousMoveInfo));
	onvifPTZContinousMoveInfo.setPt = true;
	onvifPTZContinousMoveInfo.x = 0.1;
	onvifPTZContinousMoveInfo.y = 0;
	TEST_ASSERT_EQUAL(RET_CODE_SUCCESS, setPTZContinousMoveInfo(&onvifPTZContinousMoveInfo));
}
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;
}