svvitch
digital signage player
D:/vs_workspace/switch_sf/src/svvitch/ControlSite.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #ifdef UNICODE
00004 #define FormatMessage FormatMessageW
00005 #define FindResource FindResourceW
00006 #define GetModuleFileName GetModuleFileNameW
00007 #define CreateFile CreateFileW
00008 #define LoadLibrary LoadLibraryW
00009 #define CreateEvent CreateEventW
00010 #else
00011 #define FormatMessage FormatMessageA
00012 #define FindResource FindResourceA
00013 #define GetModuleFileName GetModuleFileNameA
00014 #define CreateFile CreateFileA
00015 #define LoadLibrary LoadLibraryA
00016 #define CreateEvent CreateEventA
00017 #endif // !UNICODE
00018 #include <atlbase.h>
00019 #include <Poco/Logger.h>
00020 
00021 class ComContent;
00022 
00027 class ControlSite: public IOleInPlaceSiteWindowless, public IOleClientSite
00028 {
00029 private:
00030     Poco::Logger& _log;
00031     int _ref;
00032     RECT _rect;
00033     ComContent* _com;
00034 
00035 public:
00036     ControlSite(ComContent* com);
00037 
00038     virtual ‾ControlSite();
00039 
00040     void GetRect(LPRECT rect);
00041 
00042     // IUnknown
00043     HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, LPVOID* ppv);
00044 
00045     ULONG STDMETHODCALLTYPE AddRef();
00046 
00047     ULONG STDMETHODCALLTYPE Release();
00048 
00049 
00050 
00051     // IServiceProvider
00052     //virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void __RPC_FAR *__RPC_FAR *ppvObject);
00053 
00054 
00055 
00056     // ICallFactory
00057     //HRESULT STDMETHODCALLTYPE CreateCall(REFIID riid, IUnknown *pCtrlUnk, REFIID riid2, IUnknown **ppv);
00058 
00059 
00060 
00061     // IOleClientSite
00062 
00063     virtual HRESULT STDMETHODCALLTYPE SaveObject(void);
00064 
00065     virtual HRESULT STDMETHODCALLTYPE GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker,IMoniker** ppmk);
00066 
00067     virtual HRESULT STDMETHODCALLTYPE GetContainer(IOleContainer ** theContainerP);
00068 
00069     virtual HRESULT STDMETHODCALLTYPE ShowObject(void);
00070 
00071     virtual HRESULT STDMETHODCALLTYPE OnShowWindow(BOOL);
00072 
00073     virtual HRESULT STDMETHODCALLTYPE RequestNewObjectLayout(void);
00074 
00075 
00076 
00077     // IOleWindow
00078 
00079     HRESULT STDMETHODCALLTYPE GetWindow(HWND __RPC_FAR* theWnndow);
00080 
00081     HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode);
00082 
00083 
00084 
00085     // IOleInPlaceSite
00086 
00087     HRESULT STDMETHODCALLTYPE CanInPlaceActivate(void);
00088 
00089     HRESULT STDMETHODCALLTYPE OnInPlaceActivate(void);
00090 
00091     HRESULT STDMETHODCALLTYPE OnUIActivate(void);
00092 
00093     HRESULT STDMETHODCALLTYPE GetWindowContext(IOleInPlaceFrame __RPC_FAR *__RPC_FAR *ppFrame, IOleInPlaceUIWindow __RPC_FAR *__RPC_FAR *ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo);
00094 
00095     HRESULT STDMETHODCALLTYPE Scroll(SIZE scrollExtant);
00096 
00097     HRESULT STDMETHODCALLTYPE OnUIDeactivate(BOOL fUndoable);
00098 
00099     HRESULT STDMETHODCALLTYPE OnInPlaceDeactivate(void);
00100 
00101     HRESULT STDMETHODCALLTYPE DiscardUndoState(void);
00102 
00103     HRESULT STDMETHODCALLTYPE DeactivateAndUndo(void);
00104 
00105     HRESULT STDMETHODCALLTYPE OnPosRectChange(LPCRECT lprcPosRect);
00106 
00107 
00108 
00109     // IOleInPlaceSiteEx
00110 
00111     HRESULT STDMETHODCALLTYPE OnInPlaceActivateEx(BOOL __RPC_FAR *pfNoRedraw, DWORD dwFlags);
00112 
00113     HRESULT STDMETHODCALLTYPE OnInPlaceDeactivateEx(BOOL fNoRedraw);
00114 
00115     HRESULT STDMETHODCALLTYPE RequestUIActivate(void);
00116 
00117 
00118 
00119     // IOleInPlaceSiteWindowless
00120 
00121     HRESULT STDMETHODCALLTYPE CanWindowlessActivate(void);
00122 
00123     HRESULT STDMETHODCALLTYPE GetCapture(void);
00124 
00125     HRESULT STDMETHODCALLTYPE SetCapture(BOOL fCapture);
00126 
00127     HRESULT STDMETHODCALLTYPE GetFocus(void);
00128 
00129     HRESULT STDMETHODCALLTYPE SetFocus(BOOL fFocus);
00130 
00131     HRESULT STDMETHODCALLTYPE GetDC(LPCRECT pRect, DWORD grfFlags, HDC __RPC_FAR *phDC);
00132 
00133     HRESULT STDMETHODCALLTYPE ReleaseDC(HDC hDC);
00134 
00135     HRESULT STDMETHODCALLTYPE InvalidateRect(LPCRECT pRect, BOOL fErase);
00136 
00137     HRESULT STDMETHODCALLTYPE InvalidateRgn(HRGN hRGN, BOOL fErase);
00138 
00139     HRESULT STDMETHODCALLTYPE ScrollRect(INT dx, INT dy, LPCRECT pRectScroll, LPCRECT pRectClip);
00140 
00141     HRESULT STDMETHODCALLTYPE AdjustRect(LPRECT prc);
00142 
00143     HRESULT STDMETHODCALLTYPE OnDefWindowMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT __RPC_FAR *plResult);
00144 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines