42 lines
1,000 B
C++
42 lines
1,000 B
C++
//+-------------------------------------------------------------------
|
|
//
|
|
// File: addrrefresh.hxx
|
|
//
|
|
// Contents: Defines classes for handling dynamic TCP/IP address
|
|
// changes
|
|
//
|
|
// Classes: CAddrRefreshMgr
|
|
//
|
|
// History: 26-Oct-00 jsimmons Created
|
|
//
|
|
//--------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
class CAddrRefreshMgr
|
|
{
|
|
public:
|
|
CAddrRefreshMgr();
|
|
|
|
void ListenedOnTCP() { _bListenedOnTCP = TRUE; };
|
|
void RegisterForAddressChanges();
|
|
|
|
private:
|
|
|
|
// private functions
|
|
static void CALLBACK TimerCallbackFn(void*,BOOLEAN);
|
|
void TimerCallbackFnHelper();
|
|
|
|
// private data
|
|
HANDLE _hEventIPAddressChange;
|
|
HANDLE _hWaitObject;
|
|
SOCKET _IPChangeNotificationSocket;
|
|
BOOL _bWaitRegistered;
|
|
BOOL _bRegisteredForNotifications;
|
|
BOOL _bListenedOnTCP;
|
|
WSAOVERLAPPED _WSAOverlapped;
|
|
};
|
|
|
|
// References the single instance of this object
|
|
extern CAddrRefreshMgr gAddrRefreshMgr;
|