54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
#ifndef NULLOSFT_ONLINEMEDIA_PLUGIN_SETUPLOG_HEADER
|
|
#define NULLOSFT_ONLINEMEDIA_PLUGIN_SETUPLOG_HEADER
|
|
|
|
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
|
#pragma once
|
|
#endif
|
|
|
|
#include <wtypes.h>
|
|
#include <map>
|
|
|
|
class ifc_omservice;
|
|
|
|
class SetupLog
|
|
{
|
|
public:
|
|
typedef enum
|
|
{
|
|
opUnknown = 0,
|
|
opServiceAdded = 1,
|
|
opServiceRemoved = 2,
|
|
};
|
|
|
|
protected:
|
|
SetupLog();
|
|
~SetupLog();
|
|
|
|
public:
|
|
static SetupLog *Open();
|
|
static HRESULT Erase();
|
|
|
|
public:
|
|
ULONG AddRef();
|
|
ULONG Release();
|
|
|
|
HRESULT LogServiceById(UINT serviceUid, UINT operation);
|
|
HRESULT LogService(ifc_omservice *service, UINT operation);
|
|
HRESULT Save();
|
|
HRESULT Send(HANDLE completeEvent);
|
|
|
|
BOOL IsOperationSupported(UINT operation);
|
|
|
|
|
|
|
|
protected:
|
|
typedef std::map<UINT, UINT> ServiceMap;
|
|
friend static size_t SetupLog_GetMaxServiceIdCount(SetupLog::ServiceMap *serviceMap);
|
|
friend static HRESULT SetupLog_FormatServiceId(SetupLog::ServiceMap *serviceMap, INT operation, LPSTR pszBuffer, size_t cchBufferMax);
|
|
|
|
protected:
|
|
ULONG ref;
|
|
ServiceMap serviceMap;
|
|
};
|
|
|
|
#endif //NULLOSFT_ONLINEMEDIA_PLUGIN_SETUPLOG_HEADER
|