Commit before breaking everything
[matches/honours.git] / research / transmission_spectroscopy / TOF / Win32++ / samples / Browser / src / EventSink.h
1 #ifndef EVENTSINK_H\r
2 #define EVENTSINK_H\r
3 \r
4 // The following can also be found in exdispid.h (except MinGW)\r
5 #define DISPID_STATUSTEXTCHANGE   102\r
6 #define DISPID_DOWNLOADCOMPLETE   104\r
7 #define DISPID_COMMANDSTATECHANGE 105\r
8 #define DISPID_DOWNLOADBEGIN      106\r
9 #define DISPID_PROGRESSCHANGE     108\r
10 #define DISPID_PROPERTYCHANGE     112\r
11 #define DISPID_TITLECHANGE        113\r
12 #define DISPID_BEFORENAVIGATE2    250\r
13 #define DISPID_NEWWINDOW2         251\r
14 #define DISPID_NAVIGATECOMPLETE2  252\r
15 #define DISPID_DOCUMENTCOMPLETE   259\r
16 \r
17 \r
18 class CMainFrame;       // Forward declaration\r
19 \r
20 ///////////////////////////////////////////////\r
21 // About the CEventSink class.\r
22 //  The CEventSink implements the event sink for our browser. An Event Sink\r
23 //  provides a mechanism to respond to events triggered by an ActiveX control.\r
24 //  The ActiveX browser is the event source, and CMainFrame is the event sink.\r
25 class CEventSink : public IDispatch\r
26 {\r
27 public:\r
28         CEventSink();\r
29         void SetSink(CMainFrame* pSink) {m_pSink = pSink;}\r
30 \r
31         // IUnknown Methods\r
32         STDMETHODIMP QueryInterface(REFIID riid, void** ppvObject);\r
33         STDMETHODIMP_(ULONG) AddRef();\r
34         STDMETHODIMP_(ULONG) Release();\r
35 \r
36         // IDispatch Methods\r
37         STDMETHODIMP GetIDsOfNames(REFIID riid, OLECHAR** rgszNames, unsigned int cNames, LCID lcid, DISPID* rgdispid);\r
38         STDMETHODIMP GetTypeInfo(unsigned int itinfo, LCID lcid, ITypeInfo** pptinfo);\r
39         STDMETHODIMP GetTypeInfoCount(unsigned int* pctinfo);\r
40         STDMETHODIMP Invoke(DISPID dispid, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult, EXCEPINFO* pexecinfo, unsigned int* puArgErr);\r
41 \r
42 private:\r
43         ULONG           m_cRefs;                // ref count\r
44         CMainFrame*     m_pSink;                // Send the notifications here\r
45 };\r
46 \r
47 #endif // EVENTSINK_H\r

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