mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-18 02:15:46 -04:00
Initial community commit
This commit is contained in:
73
Src/omBrowser/ifc_omservicemanager.h
Normal file
73
Src/omBrowser/ifc_omservicemanager.h
Normal file
@ -0,0 +1,73 @@
|
||||
#ifndef NULLSOFT_WINAMP_OMSERVICE_MANAGER_INTERFACE_HEADER
|
||||
#define NULLSOFT_WINAMP_OMSERVICE_MANAGER_INTERFACE_HEADER
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <bfc/dispatch.h>
|
||||
|
||||
// {BB0A9154-6D31-413b-96FB-9466E535E0C4}
|
||||
static const GUID IFC_OmServiceManager =
|
||||
{ 0xbb0a9154, 0x6d31, 0x413b, { 0x96, 0xfb, 0x94, 0x66, 0xe5, 0x35, 0xe0, 0xc4 } };
|
||||
|
||||
class ifc_omservice;
|
||||
class ifc_omstorage;
|
||||
class ifc_omstorageenumerator;
|
||||
class ifc_omservicehost;
|
||||
class ifc_omserviceeventmngr;
|
||||
|
||||
class __declspec(novtable) ifc_omservicemanager : public Dispatchable
|
||||
{
|
||||
protected:
|
||||
ifc_omservicemanager() {}
|
||||
~ifc_omservicemanager() {}
|
||||
|
||||
public:
|
||||
HRESULT RegisterStorage(ifc_omstorage *storage);
|
||||
HRESULT UnregisterStorage(const GUID *storageId);
|
||||
HRESULT QueryStorage(const GUID *storageId, ifc_omstorage **storageOut);
|
||||
HRESULT EnumStorage(const GUID *filterType, UINT filterCapabilities, ifc_omstorageenumerator **enumOut);
|
||||
|
||||
HRESULT CreateService(unsigned int serviceId, ifc_omservicehost *host, ifc_omservice **serviceOut);
|
||||
|
||||
|
||||
public:
|
||||
DISPATCH_CODES
|
||||
{
|
||||
API_REGISTERSTORAGE = 10,
|
||||
API_UNREGISTERSTORAGE = 20,
|
||||
API_QUERYSTORAGE = 30,
|
||||
API_ENUMSTORAGE = 40,
|
||||
|
||||
API_CREATESERVICE = 100,
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
inline HRESULT ifc_omservicemanager::RegisterStorage(ifc_omstorage *storage)
|
||||
{
|
||||
return _call(API_REGISTERSTORAGE, (HRESULT)E_NOTIMPL, storage);
|
||||
}
|
||||
|
||||
inline HRESULT ifc_omservicemanager::UnregisterStorage(const GUID *storageId)
|
||||
{
|
||||
return _call(API_UNREGISTERSTORAGE, (HRESULT)E_NOTIMPL, storageId);
|
||||
}
|
||||
|
||||
inline HRESULT ifc_omservicemanager::QueryStorage(const GUID *storageId, ifc_omstorage **storageOut)
|
||||
{
|
||||
return _call(API_QUERYSTORAGE, (HRESULT)E_NOTIMPL, storageId, storageOut);
|
||||
}
|
||||
|
||||
inline HRESULT ifc_omservicemanager::EnumStorage(const GUID *filterType, UINT filterCapabilities, ifc_omstorageenumerator **enumOut)
|
||||
{
|
||||
return _call(API_ENUMSTORAGE, (HRESULT)E_NOTIMPL, filterType, filterCapabilities, enumOut);
|
||||
}
|
||||
|
||||
inline HRESULT ifc_omservicemanager::CreateService(UINT serviceId, ifc_omservicehost *host, ifc_omservice **serviceOut)
|
||||
{
|
||||
return _call(API_CREATESERVICE, (HRESULT)E_NOTIMPL, serviceId, host, serviceOut);
|
||||
}
|
||||
|
||||
#endif //NULLSOFT_WINAMP_OMSERVICE_MANAGER_INTERFACE_HEADER
|
Reference in New Issue
Block a user