diff options
Diffstat (limited to 'Src/omBrowser/ifc_mlnavigationhelper.h')
-rw-r--r-- | Src/omBrowser/ifc_mlnavigationhelper.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/Src/omBrowser/ifc_mlnavigationhelper.h b/Src/omBrowser/ifc_mlnavigationhelper.h new file mode 100644 index 00000000..ef57151f --- /dev/null +++ b/Src/omBrowser/ifc_mlnavigationhelper.h @@ -0,0 +1,76 @@ +#ifndef NULLSOFT_WINAMP_ML_NAVIGATION_HELPER_INTERFACE_HEADER +#define NULLSOFT_WINAMP_ML_NAVIGATION_HELPER_INTERFACE_HEADER + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#include <bfc/dispatch.h> + +// {816290AB-A249-4b64-A192-C643D0AD68CA} +static const GUID IFC_MlNavigationHelper = +{ 0x816290ab, 0xa249, 0x4b64, { 0xa1, 0x92, 0xc6, 0x43, 0xd0, 0xad, 0x68, 0xca } }; + +class ifc_mlnavigationcallback; + +class __declspec(novtable) ifc_mlnavigationhelper : public Dispatchable +{ + +protected: + ifc_mlnavigationhelper() {} + ~ifc_mlnavigationhelper() {} + +public: + HRESULT GetDefaultIndex(int *index); + HRESULT QueryIndex(const wchar_t *name, int *index, BOOL *defaultUsed); + HRESULT ReleaseIndex(const wchar_t *name); + + HRESULT RegisterAlias(const wchar_t *name, const wchar_t *address); + + HRESULT RegisterCallback(ifc_mlnavigationcallback *callback, unsigned int *cookie); + HRESULT UnregisterCallback(unsigned int cookie); + +public: + DISPATCH_CODES + { + API_GETDEFAULTINDEX = 10, + API_QUERYINDEX = 20, + API_RELEASEINDEX = 30, + API_REGISTERALIAS = 40, + + API_REGISTERCALLBACK = 50, + API_UNREGISTERCALLBACK = 60, + }; +}; + +inline HRESULT ifc_mlnavigationhelper::GetDefaultIndex(int *index) +{ + return _call(API_GETDEFAULTINDEX, (HRESULT)E_NOTIMPL, index); +} + +inline HRESULT ifc_mlnavigationhelper::QueryIndex(const wchar_t *name, int *index, BOOL *defaultUsed) +{ + return _call(API_QUERYINDEX, (HRESULT)E_NOTIMPL, name, index, defaultUsed); +} + +inline HRESULT ifc_mlnavigationhelper::ReleaseIndex(const wchar_t *name) +{ + return _call(API_RELEASEINDEX, (HRESULT)E_NOTIMPL, name); +} + +inline HRESULT ifc_mlnavigationhelper::RegisterAlias(const wchar_t *name, const wchar_t *address) +{ + return _call(API_REGISTERALIAS, (HRESULT)E_NOTIMPL, name, address); +} + +inline HRESULT ifc_mlnavigationhelper::RegisterCallback(ifc_mlnavigationcallback *callback, UINT *cookie) +{ + return _call(API_REGISTERCALLBACK, (HRESULT)API_REGISTERCALLBACK, callback, cookie); +} + +inline HRESULT ifc_mlnavigationhelper::UnregisterCallback(UINT cookie) +{ + return _call(API_UNREGISTERCALLBACK, (HRESULT)E_NOTIMPL, cookie); +} + +#endif //NULLSOFT_WINAMP_ML_NAVIGATION_HELPER_INTERFACE_HEADER
\ No newline at end of file |