50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 2000.
|
|
//
|
|
// File: I N T E R F A C E H E L P E R . H
|
|
//
|
|
// Contents: Manages dealing with multiple interfaces and interface changes
|
|
//
|
|
// Notes:
|
|
//
|
|
// Author: mbend 6 Feb 2001
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "upsync.h"
|
|
#include "ulist.h"
|
|
#include "InterfaceList.h"
|
|
|
|
class CInterfaceHelper : public CUPnPInterfaceChange
|
|
{
|
|
public:
|
|
~CInterfaceHelper();
|
|
|
|
static CInterfaceHelper & Instance();
|
|
|
|
void OnInterfaceChange(const InterfaceMappingList & interfaceMappingList);
|
|
|
|
HRESULT HrInitialize();
|
|
HRESULT HrShutdown();
|
|
|
|
HRESULT HrResolveAddress(DWORD dwIpAddress, GUID & guidInterface);
|
|
private:
|
|
CInterfaceHelper();
|
|
CInterfaceHelper(const CInterfaceHelper &);
|
|
CInterfaceHelper & operator=(const CInterfaceHelper &);
|
|
|
|
static CInterfaceHelper s_instance;
|
|
|
|
HRESULT HrGenerateDirtyGuidList(
|
|
const InterfaceMappingList & interfaceMappingListOld,
|
|
const InterfaceMappingList & interfaceMappingListNew,
|
|
InterfaceList & interfaceList);
|
|
|
|
CUCriticalSection m_critSec;
|
|
InterfaceMappingList m_interfaceMappingList;
|
|
};
|