Пример #1
0
void CClientDlg::OnBtnLogout() 
{
	// TODO: Add your control notification handler code here
	if(m_bRecordStatus)
	{
		CLIENT_RecordStop();
		m_bRecordStatus = FALSE;
	}

	if(0 != m_hTalkHandle)
	{
		CLIENT_StopTalkEx(m_hTalkHandle);
		m_hTalkHandle = 0;
	}

	BOOL bRet = CLIENT_Logout(m_lLoginHandle);
	if(bRet)
	{
		m_lLoginHandle = 0;
		GetDlgItem(IDC_BTN_LOGIN)->EnableWindow(TRUE);
		GetDlgItem(IDC_BTN_LOGOUT)->EnableWindow(FALSE);
		GetDlgItem(IDC_BTN_STARTTALK)->EnableWindow(FALSE);
		GetDlgItem(IDC_BTN_STOPTALK)->EnableWindow(FALSE);
		
		m_ctlEncodeType.ResetContent();
		m_ctlSpeakerChl.ResetContent();
	}
	else
	{
		MessageBox(ConvertString("Logout failed!"), ConvertString("Prompt"));
	}
}
Пример #2
0
static __inline__ int dah_logout(long user_id)
{
    CLIENT_StopListen(user_id);
    if (CLIENT_Logout(user_id))
    {
        show_debug("dah_logout() successful, user_id: %d\n", (int)user_id);
        return 0;
    }
    else
        return -1;
}
Пример #3
0
void CRealPlayXCtrl::OnDestroy() 
{
	COleControl::OnDestroy();
	
	// TODO: Add your message handler code here
	if(0 != m_LoginID)
	{
		CLIENT_Logout(m_LoginID);
	}

	//清空SDK, 释放占用的资源
	CLIENT_Cleanup();
}
Пример #4
0
/*----------------------------------
函数功能:终止设备使用
调用参数:特定设备的结构:LOGIN_PARAM的指针:
调用成功,返回TRUE;调用失败,返回FALSE。其它需要返回的参数,置于结构:INIT_PARAM中。
函数说明:
-----------------------------------*/
_EXT_C_DEVCAM_API BOOL CAM_UnInit(CommonParam *commonParam){
	if (commonParam == NULL){
		commonParam->devError = UnInitError;
		return FALSE;
	}

	if(commonParam->deviceType = NET_IPC_SERIAL){
		
	}

	if(commonParam->deviceType = NET_NVR_SERIAL){
		delete []commonParam->cameraParam;
		commonParam->cameraParam = NULL;
	}

	return CLIENT_Logout(commonParam->loginID);
}
Пример #5
0
void CPannelDecoder::OnBtnDelDecoder() 
{
	// TODO: Add your control notification handler code here
	CNVDSDKDemoDlg *pParentDlg = (CNVDSDKDemoDlg*)this->GetParent();
	
	HTREEITEM selectNode = pParentDlg->m_decoderTree.GetSelectedItem();
	if (selectNode != NULL)
	{
		HTREEITEM parentNode = selectNode;
		DWORD nData = pParentDlg->m_decoderTree.GetItemData(selectNode);
		if (nData <= 16 && nData >= 0)
		{
			parentNode = pParentDlg->m_decoderTree.GetParentItem(selectNode);
		}

		DECODER_INFO *pSelectDecoder = (DECODER_INFO *)pParentDlg->m_decoderTree.GetItemData(parentNode);
		if (pSelectDecoder != NULL)
		{
			CReadWriteMutexLock lock(pParentDlg->m_csDecoder);
			
			list<DECODER_INFO*>::iterator it = pParentDlg->m_lstDecoders.begin();
			while (it != pParentDlg->m_lstDecoders.end())
			{
				DECODER_INFO *pDecoderInfo = (DECODER_INFO *)(*it);
				if (pDecoderInfo != NULL)
				{
					if (pDecoderInfo->lLoginID == pSelectDecoder->lLoginID)
					{
						CLIENT_Logout(pSelectDecoder->lLoginID);
						delete pDecoderInfo;
						pParentDlg->m_lstDecoders.erase(it);
						pParentDlg->m_bUpdataTree2 = TRUE;
						break;
					}
				}
				
				++it;
			}
		}
	}
	else
	{
		MessageBox(ConvertString("Select NVD first!"), ConvertString("Prompt"));
	}
}
Пример #6
0
void CClientDlg::OnDestroy() 
{
	CDialog::OnDestroy();
	
	// TODO: Add your message handler code here
	if(m_bRecordStatus)
	{
		CLIENT_RecordStop();
	}

	if(0 != m_hTalkHandle)
	{
		CLIENT_StopTalkEx(m_hTalkHandle);
	}

	if (m_lLoginHandle != 0)
	{
		CLIENT_Logout(m_lLoginHandle);
	}
}
Пример #7
0
/*----------------------------------
函数功能:获取码流分辨率
调用参数:
返回参数:
函数说明:连接NVR后,获取单个摄像头码流分辨率
-----------------------------------*/
_EXT_C_DEVCAM_API BOOL CAM_GetSize(CommonParam *commonParam,long channel){
	if (commonParam == NULL){
		return FALSE;
	}
	if(commonParam->deviceType == NET_IPC_SERIAL){
		return TRUE;
	}
	if(commonParam->cameraParam[channel].playHwnd == NULL){
		commonParam->cameraParam[channel].playHwnd = CreateWindow("EDIT",NULL,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,NULL,NULL);
	}
	NET_DEVICEINFO	      deviceInfo = {0};
	int				      error;
	DHDEV_CHANNEL_CFG	  channelConfig = {0};
	LDWORD			      bytesReturned;
	commonParam->cameraParam[channel].loginID = CLIENT_Login(commonParam->cameraParam[channel].deviceIP,commonParam->cameraParam[channel].devicePort,commonParam->cameraParam[channel].userName,commonParam->cameraParam[channel].passWord,&deviceInfo,&error);
	if(error != 0){
		return FALSE;
	}
	CLIENT_GetDevConfig(commonParam->cameraParam[channel].loginID,DH_DEV_CHANNELCFG,0,&channelConfig,sizeof(channelConfig),&bytesReturned);
	GetSize(channelConfig.stMainVideoEncOpt->byImageSize,commonParam->cameraParam[channel].frameWidth,commonParam->cameraParam[channel].frameHeight);
	CLIENT_Logout(commonParam->cameraParam[channel].loginID);

	return TRUE;
}
int main(void)
{
	/*
	 *	程序连接上设备后,用户可以通过拔网线或其他方式使设备断线,然后再恢复网络。
	 */
	NET_DEVICEINFO deviceInfo ={0};
	unsigned long lLogin;
	CLIENT_Init(DisConnectFunc,0);//初始化sdk,设置断线回调函数
	CLIENT_SetAutoReconnect(AutoConnectFunc,0);//设置断线重连成功的回调函数。不调用此接口,sdk将不进行断线重连。
	lLogin = CLIENT_Login("10.7.4.24",37777,"3","",&deviceInfo);//登陆设备,用户需另选设备。
	if(lLogin <= 0)
	{
		cout<<"登陆设备失败"<<endl;
	}
	else
	{
		cout<<"登陆设备成功,按任意键退出程序。"<<endl;
		cout<<"网络故障1分钟如果没有恢复,sdk会认为断线,请耐心等待"<<endl;
		_getch();
	}
	CLIENT_Logout(lLogin);
	CLIENT_Cleanup();
	return 0;
}
Пример #9
0
//	连接设备
BOOL CRealPlayXCtrl::SetDeviceInfo(LPCTSTR strDvrIP, long nPort, short nChannel, LPCTSTR strUserId, LPCTSTR strUserPwd) 
{
	// TODO: Add your dispatch handler code here
	BOOL bSuccess = FALSE;

	//	不相同设备,重新登入
	if(strDvrIP != m_strDvrIP)
	{
		//	登入之前先注销
		if(0 != m_LoginID)
		{
			CLIENT_Logout(m_LoginID);
			m_LoginID = 0;
			m_strDvrIP = "";
			//刷新页面
			Invalidate();
		}

		int err = 0;	//存储可能的错误返回值
		NET_DEVICEINFO deviceInfo;

		//	调用登入接口
		long lRet = CLIENT_Login((LPSTR)strDvrIP,(WORD)nPort,(LPSTR)strUserId,(LPSTR)strUserPwd,&deviceInfo,&err);
		if(0 != lRet)
		{
			m_LoginID = lRet;
			m_nChannel = nChannel;
			m_strDvrIP = strDvrIP;
			bSuccess = TRUE;
		}
		else
		{
			m_LoginID = 0;
			m_nChannel = -1;
			bSuccess = FALSE;
			ShowLoginErrorReason(err);
		}
	}
	else
	{
		//	相同设备,没有登入的话再登入
		if(0 == m_LoginID)
		{
			int err = 0;	//存储可能的错误返回值
			NET_DEVICEINFO deviceInfo;

			//	调用登入接口
			long lRet = CLIENT_Login((LPSTR)strDvrIP,(WORD)nPort,(LPSTR)strUserId,(LPSTR)strUserPwd,&deviceInfo,&err);
			if(0 != lRet)
			{
				m_LoginID = lRet;
				m_nChannel = nChannel;
				bSuccess = TRUE;
			}
			else
			{
				m_LoginID = 0;
				m_nChannel = -1;
				bSuccess = FALSE;
				ShowLoginErrorReason(err);
			}
		}
		else
		{
			m_nChannel = nChannel;
			bSuccess = TRUE;
		}
	}

	return bSuccess;
}