123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #ifndef NULLSOFT_WINAMP_OMSERVICE_HOST_INTERFACE_HEADER
- #define NULLSOFT_WINAMP_OMSERVICE_HOST_INTERFACE_HEADER
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- #pragma once
- #endif
- #include <bfc/dispatch.h>
- // {75339603-8A3A-490d-84B1-DD493004AAE2}
- static const GUID IFC_OmServiceHost =
- { 0x75339603, 0x8a3a, 0x490d, { 0x84, 0xb1, 0xdd, 0x49, 0x30, 0x4, 0xaa, 0xe2 } };
- interface IDispatch;
- class ifc_omservice;
- // supports AddRef(), Release(), QueryInterface()
- class __declspec(novtable) ifc_omservicehost : public Dispatchable
- {
- protected:
- ifc_omservicehost() {}
- ~ifc_omservicehost() {}
- public:
- HRESULT GetExternal(ifc_omservice *service, IDispatch **ppDispatch); // ppDispatch probably will be already set with JSAPI according to generation
- HRESULT GetBasePath(ifc_omservice *service, wchar_t *buffer, unsigned int bufferMax);
- HRESULT GetDefaultName(ifc_omservice *service, wchar_t *buffer, unsigned int bufferMax);
- HRESULT GetUrl(ifc_omservice *service, wchar_t *buffer, unsigned int bufferMax); // buffer will be set with ifc_omservice->GetUrl() you can modify it if you want. Return: S_OK on success, E_NOTIMPL - if do not care or E_XXX for errror
- HRESULT QueryCommandState(ifc_omservice *service, HWND hBrowser, const GUID *commandGroup, UINT commandId);
- HRESULT ExecuteCommand(ifc_omservice *service, HWND hBrowser, const GUID *commandGroup, UINT commandId, ULONG_PTR commandArg);
- public:
- DISPATCH_CODES
- {
- API_GETEXTERNAL = 10,
- API_GETBASEPATH = 20,
- API_GETDEFAULTNAME = 30,
- API_QUERYCOMMANDSTATE = 40,
- API_EXECUTECOMMAND = 50,
- API_GETURL = 60,
- };
- };
- inline HRESULT ifc_omservicehost::GetExternal(ifc_omservice *service, IDispatch **ppDispatch)
- {
- return _call(API_GETEXTERNAL, (HRESULT)E_NOTIMPL, service, ppDispatch);
- }
- inline HRESULT ifc_omservicehost::GetBasePath(ifc_omservice *service, wchar_t *buffer, unsigned int bufferMax)
- {
- return _call(API_GETBASEPATH, (HRESULT)E_NOTIMPL, service, buffer, bufferMax);
- }
- inline HRESULT ifc_omservicehost::GetDefaultName(ifc_omservice *service, wchar_t *buffer, unsigned int bufferMax)
- {
- return _call(API_GETDEFAULTNAME, (HRESULT)E_NOTIMPL, service, buffer, bufferMax);
- }
- inline HRESULT ifc_omservicehost::QueryCommandState(ifc_omservice *service, HWND hBrowser, const GUID *commandGroup, UINT commandId)
- {
- return _call(API_QUERYCOMMANDSTATE, (HRESULT)E_NOTIMPL, service, hBrowser, commandGroup, commandId);
- }
- inline HRESULT ifc_omservicehost::ExecuteCommand(ifc_omservice *service, HWND hBrowser, const GUID *commandGroup, UINT commandId, ULONG_PTR commandArg)
- {
- return _call(API_EXECUTECOMMAND, (HRESULT)E_NOTIMPL, service, hBrowser, commandGroup, commandId, commandArg);
- }
- inline HRESULT ifc_omservicehost::GetUrl(ifc_omservice *service, wchar_t *buffer, unsigned int bufferMax)
- {
- return _call(API_GETURL, (HRESULT)E_NOTIMPL, service, buffer, bufferMax);
- }
- #endif //NULLSOFT_WINAMP_OMSERVICE_HOST_INTERFACE_HEADER
|