aboutsummaryrefslogtreecommitdiff
path: root/Src/omBrowser/ifc_ombrowsereventmngr.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/omBrowser/ifc_ombrowsereventmngr.h')
-rw-r--r--Src/omBrowser/ifc_ombrowsereventmngr.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/Src/omBrowser/ifc_ombrowsereventmngr.h b/Src/omBrowser/ifc_ombrowsereventmngr.h
new file mode 100644
index 00000000..93fb504f
--- /dev/null
+++ b/Src/omBrowser/ifc_ombrowsereventmngr.h
@@ -0,0 +1,61 @@
+#ifndef NULLSOFT_WINAMP_OMBROWSER_EVENTMANAGER_INTERFACE_HEADER
+#define NULLSOFT_WINAMP_OMBROWSER_EVENTMANAGER_INTERFACE_HEADER
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+#include <bfc/dispatch.h>
+
+// {EF73F304-7730-4e80-B938-A80B5C971CC5}
+static const GUID IFC_OmBrowserEventManager =
+{ 0xef73f304, 0x7730, 0x4e80, { 0xb9, 0x38, 0xa8, 0xb, 0x5c, 0x97, 0x1c, 0xc5 } };
+
+
+class obj_ombrowser;
+class ifc_ombrowserevent;
+
+class __declspec(novtable) ifc_ombrowsereventmngr : public Dispatchable
+{
+
+protected:
+ ifc_ombrowsereventmngr() {}
+ ~ifc_ombrowsereventmngr() {}
+
+public:
+ HRESULT RegisterHandler(ifc_ombrowserevent *handler);
+ HRESULT UnregisterHandler(ifc_ombrowserevent *handler);
+ HRESULT Signal_WindowCreate(HWND hwnd, const GUID *windowType);
+ HRESULT Signal_WindowClose(HWND hwnd, const GUID *windowType);
+
+public:
+ DISPATCH_CODES
+ {
+ API_REGISTERHANDLER = 10,
+ API_UNREGISTERHANDLER = 20,
+ API_SIGNAL_WINDOWCREATE = 30,
+ API_SIGNAL_WINDOWCLOSE = 40,
+ };
+};
+
+inline HRESULT ifc_ombrowsereventmngr::RegisterHandler(ifc_ombrowserevent *handler)
+{
+ return _call(API_REGISTERHANDLER, (HRESULT)E_NOTIMPL, handler);
+}
+
+inline HRESULT ifc_ombrowsereventmngr::UnregisterHandler(ifc_ombrowserevent *handler)
+{
+ return _call(API_UNREGISTERHANDLER, (HRESULT)E_NOTIMPL, handler);
+}
+
+inline HRESULT ifc_ombrowsereventmngr::Signal_WindowCreate(HWND hwnd, const GUID *windowType)
+{
+ return _call(API_SIGNAL_WINDOWCREATE, (HRESULT)E_NOTIMPL, hwnd, windowType);
+}
+
+inline HRESULT ifc_ombrowsereventmngr::Signal_WindowClose(HWND hwnd, const GUID *windowType)
+{
+ return _call(API_SIGNAL_WINDOWCLOSE, (HRESULT)E_NOTIMPL, hwnd, windowType);
+}
+
+#endif //NULLSOFT_WINAMP_OMBROWSER_EVENTMANAGER_INTERFACE_HEADER \ No newline at end of file