Ejemplo n.º 1
0
CNdasDeviceHeartbeatListener*
GetListenerInstance()
{
	CNdasDeviceHeartbeatListener* pListener = SharedData.listener;
	if (NULL != pListener)
	{
		::InterlockedIncrement((LPLONG)&SharedData.ref);
		return pListener;
	}

	pListener = new CNdasDeviceHeartbeatListener();
	if (NULL == pListener)
	{
		::SetLastError(ERROR_OUTOFMEMORY);
		return NULL;
	}

	BOOL fSuccess = pListener->Initialize();
	if (!fSuccess) {
		DBGPRT_ERR(_T("Failed to init listener: "));
		return NULL;
	}

	if (!pListener->Run()) {
		DBGPRT_ERR(_T("Failed to run listener: "));
		return NULL;
	}

	// okay, we've got pListener running
	SharedData.listener = pListener;
	::InterlockedIncrement((LPLONG)&SharedData.ref);
	return pListener;
}
Ejemplo n.º 2
0
int __cdecl wmain()
{
	WSADATA wsaData;
	if (0 != ::WSAStartup(MAKEWORD(2,2), &wsaData))
	{
		_tprintf(_T("Failed to initialize socket: %d\n"), ::GetLastError());
	}

	CNdasDeviceHeartbeatListener listener;
	BOOL fSuccess = listener.Initialize();
	if (!fSuccess) {
		_tprintf(_T("Failed to init listener : %d\n"), ::GetLastError());
		return 1;
	}
	if (!listener.Run()) {
		_tprintf(_T("Failed to run listener: %d\n"), ::GetLastError());
		return 1;
	}

	CNdasDeviceHeartbeatHandler* subscriber = new CMyClass(&listener);

	::Sleep(60000);

	listener.Stop(TRUE);

	delete subscriber;

	return 0;
}