mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-29 16:06:06 +00:00
47 lines
1.1 KiB
C
47 lines
1.1 KiB
C
|
#ifndef NULLSOFT_ONLINEMEDIA_PLUGIN_STORAGE_HANDLER_HEADER
|
||
|
#define NULLSOFT_ONLINEMEDIA_PLUGIN_STORAGE_HANDLER_HEADER
|
||
|
|
||
|
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#include "./ifc_omstoragehandler.h"
|
||
|
#include "./ifc_omstoragehelper.h"
|
||
|
class ifc_omservice;
|
||
|
|
||
|
class StorageHandler : public ifc_omstoragehandler
|
||
|
{
|
||
|
public:
|
||
|
typedef enum
|
||
|
{
|
||
|
flagCopyKey = 0x00000001,
|
||
|
} Flags;
|
||
|
|
||
|
protected:
|
||
|
StorageHandler(LPCWSTR pszKey, ifc_omstoragehelper::HandlerProc handlerProc, UINT flags);
|
||
|
~StorageHandler();
|
||
|
|
||
|
public:
|
||
|
static HRESULT CreateInstance(LPCWSTR pszKey, ifc_omstoragehelper::HandlerProc handlerProc, UINT flags, StorageHandler **instance);
|
||
|
|
||
|
public:
|
||
|
/* Dispatchable */
|
||
|
size_t AddRef();
|
||
|
size_t Release();
|
||
|
int QueryInterface(GUID interface_guid, void **object);
|
||
|
|
||
|
/* ifc_omstoragehandler */
|
||
|
HRESULT GetKey(LPCWSTR *ppKey);
|
||
|
void Invoke(ifc_omservice *service, LPCWSTR pszKey, LPCWSTR pszValue);
|
||
|
|
||
|
protected:
|
||
|
ULONG ref;
|
||
|
LPWSTR key;
|
||
|
ifc_omstoragehelper::HandlerProc handler;
|
||
|
UINT flags;
|
||
|
|
||
|
protected:
|
||
|
RECVS_DISPATCH;
|
||
|
};
|
||
|
|
||
|
#endif //NULLSOFT_ONLINEMEDIA_PLUGIN_STORAGE_HANDLER_HEADER
|