Commit before breaking everything
[matches/honours.git] / research / transmission_spectroscopy / TOF / Win32++ / samples / Browser / src / EventSink.h
diff --git a/research/transmission_spectroscopy/TOF/Win32++/samples/Browser/src/EventSink.h b/research/transmission_spectroscopy/TOF/Win32++/samples/Browser/src/EventSink.h
new file mode 100644 (file)
index 0000000..5838246
--- /dev/null
@@ -0,0 +1,47 @@
+#ifndef EVENTSINK_H\r
+#define EVENTSINK_H\r
+\r
+// The following can also be found in exdispid.h (except MinGW)\r
+#define DISPID_STATUSTEXTCHANGE   102\r
+#define DISPID_DOWNLOADCOMPLETE   104\r
+#define DISPID_COMMANDSTATECHANGE 105\r
+#define DISPID_DOWNLOADBEGIN      106\r
+#define DISPID_PROGRESSCHANGE     108\r
+#define DISPID_PROPERTYCHANGE     112\r
+#define DISPID_TITLECHANGE        113\r
+#define DISPID_BEFORENAVIGATE2    250\r
+#define DISPID_NEWWINDOW2         251\r
+#define DISPID_NAVIGATECOMPLETE2  252\r
+#define DISPID_DOCUMENTCOMPLETE   259\r
+\r
+\r
+class CMainFrame;      // Forward declaration\r
+\r
+///////////////////////////////////////////////\r
+// About the CEventSink class.\r
+//  The CEventSink implements the event sink for our browser. An Event Sink\r
+//  provides a mechanism to respond to events triggered by an ActiveX control.\r
+//  The ActiveX browser is the event source, and CMainFrame is the event sink.\r
+class CEventSink : public IDispatch\r
+{\r
+public:\r
+       CEventSink();\r
+       void SetSink(CMainFrame* pSink) {m_pSink = pSink;}\r
+\r
+       // IUnknown Methods\r
+       STDMETHODIMP QueryInterface(REFIID riid, void** ppvObject);\r
+       STDMETHODIMP_(ULONG) AddRef();\r
+       STDMETHODIMP_(ULONG) Release();\r
+\r
+       // IDispatch Methods\r
+       STDMETHODIMP GetIDsOfNames(REFIID riid, OLECHAR** rgszNames, unsigned int cNames, LCID lcid, DISPID* rgdispid);\r
+       STDMETHODIMP GetTypeInfo(unsigned int itinfo, LCID lcid, ITypeInfo** pptinfo);\r
+       STDMETHODIMP GetTypeInfoCount(unsigned int* pctinfo);\r
+       STDMETHODIMP Invoke(DISPID dispid, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult, EXCEPINFO* pexecinfo, unsigned int* puArgErr);\r
+\r
+private:\r
+       ULONG           m_cRefs;                // ref count\r
+       CMainFrame*     m_pSink;                // Send the notifications here\r
+};\r
+\r
+#endif // EVENTSINK_H\r

UCC git Repository :: git.ucc.asn.au