コード例 #1
0
ファイル: DeviceManager.cpp プロジェクト: dalinhuang/jorhy-xl
void CDeviceManager::CheckDevice()
{
	TLock(m_locker);
	ConnectMap::iterator it = m_connMap.begin();
	for (; it!=m_connMap.end(); ++it)
	{
		J_Host *pHost = it->second.pHost;
		if (pHost->IsReady())
		{
			if (!it->second.bRegister)
			{
				pHost->GetDeviceInfo();
				pHost->SetTime(time(0));
				AddDevice(pHost, it->first);
				it->second.bRegister = true;
			}
		}
		else
		{
			if (it->second.bRegister)
			{
				DelDevice(pHost);
				j_close_socket(it->first.sock);
				m_connMap.erase(it);
				TUnlock(m_locker);
				break;
			}
		}
	}
	TUnlock(m_locker);
}
コード例 #2
0
ファイル: DeviceManager.cpp プロジェクト: dalinhuang/jorhy-xl
void CDeviceManager::ReleaseDevObj(j_socket_t nSock)
{
	TLock(m_locker);
	ConnectMap::iterator it = m_connMap.find(nSock);
	if (it != m_connMap.end())
	{
		DelDevice(it->second.pHost);
		m_connMap.erase(it);
	}
	TUnlock(m_locker);
}
コード例 #3
0
void
UnInitialize()
{
    DelDevice();
    if (PktPort) {
        DeletePort(PktPort);
        PktPort = NULL;
    }
    if (AuxPort) {
        DeletePort(AuxPort);
        AuxPort = NULL;
    }
}