aboutsummaryrefslogtreecommitdiff
path: root/Src/omBrowser/ifc_mlnavigationhelper.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/omBrowser/ifc_mlnavigationhelper.h')
-rw-r--r--Src/omBrowser/ifc_mlnavigationhelper.h76
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