00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __OLEINPLACEACTIVEOBJECT_H__
00024 #define __OLEINPLACEACTIVEOBJECT_H__
00025
00026 #include "oleidl.h"
00027
00028 class VLCOleInPlaceActiveObject : public IOleInPlaceActiveObject
00029 {
00030
00031 public:
00032
00033 VLCOleInPlaceActiveObject(VLCPlugin *p_instance) : _p_instance(p_instance) {};
00034 virtual ~VLCOleInPlaceActiveObject() {};
00035
00036
00037 STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
00038 {
00039 if( (NULL != ppv)
00040 && (IID_IUnknown == riid)
00041 && (IID_IOleWindow == riid)
00042 && (IID_IOleInPlaceActiveObject == riid) )
00043 {
00044 AddRef();
00045 *ppv = reinterpret_cast<LPVOID>(this);
00046 return NOERROR;
00047 }
00048 return _p_instance->pUnkOuter->QueryInterface(riid, ppv);
00049 };
00050
00051 STDMETHODIMP_(ULONG) AddRef(void) { return _p_instance->pUnkOuter->AddRef(); };
00052 STDMETHODIMP_(ULONG) Release(void) { return _p_instance->pUnkOuter->Release(); };
00053
00054
00055 STDMETHODIMP GetWindow(HWND *);
00056 STDMETHODIMP ContextSensitiveHelp(BOOL);
00057
00058
00059 STDMETHODIMP EnableModeless(BOOL);
00060 STDMETHODIMP TranslateAccelerator(LPMSG);
00061 STDMETHODIMP OnFrameWindowActivate(BOOL);
00062 STDMETHODIMP OnDocWindowActivate(BOOL);
00063 STDMETHODIMP ResizeBorder(LPCRECT, LPOLEINPLACEUIWINDOW, BOOL);
00064
00065 private:
00066
00067 VLCPlugin *_p_instance;
00068 };
00069
00070 #endif
00071