]> git.sesse.net Git - vlc/blobdiff - activex/oleobject.h
Initial support for Secure Real-Time Protocol (RFC3711) - refs #321
[vlc] / activex / oleobject.h
index 428e7f1dcea0927e3a33414c39d07007b6323502..9e5485601cc201fa547b3dc40316e4bea3b51cf6 100644 (file)
@@ -1,86 +1,86 @@
-/*****************************************************************************\r
- * oleobject.h: ActiveX control for VLC\r
- *****************************************************************************\r
- * Copyright (C) 2005 VideoLAN\r
- *\r
- * Authors: Damien Fouilleul <Damien.Fouilleul@laposte.net>\r
- *\r
- * This program is free software; you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation; either version 2 of the License, or\r
- * (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.\r
- *****************************************************************************/\r
-\r
-#ifndef __OLEOBJECT_H__\r
-#define __OLEOBJECT_H__\r
-\r
-class VLCOleObject : public IOleObject\r
-{\r
-\r
-public:\r
-\r
-    VLCOleObject(VLCPlugin *p_instance);\r
-    virtual ~VLCOleObject();\r
-\r
-    // IUnknown methods\r
-    STDMETHODIMP QueryInterface(REFIID riid, void **ppv)\r
-    {\r
-        if( (NULL != ppv)\r
-         && (IID_IUnknown == riid)\r
-         && (IID_IOleObject == riid) ) \r
-        {\r
-            AddRef();\r
-            *ppv = reinterpret_cast<LPVOID>(this);\r
-            return NOERROR;\r
-        }\r
-        return _p_instance->QueryInterface(riid, ppv);\r
-    };\r
-\r
-    STDMETHODIMP_(ULONG) AddRef(void) { return _p_instance->AddRef(); };\r
-    STDMETHODIMP_(ULONG) Release(void) { return _p_instance->Release(); };\r
-\r
-    // IOleObject methods\r
-    STDMETHODIMP Advise(IAdviseSink *, LPDWORD);\r
-    STDMETHODIMP Close(DWORD);\r
-    STDMETHODIMP DoVerb(LONG, LPMSG, LPOLECLIENTSITE, LONG, HWND, LPCRECT);\r
-    STDMETHODIMP EnumAdvise(IEnumSTATDATA **);\r
-    STDMETHODIMP EnumVerbs(IEnumOleVerb **);\r
-    STDMETHODIMP GetClientSite(LPOLECLIENTSITE *);\r
-    STDMETHODIMP GetClipboardData(DWORD, LPDATAOBJECT *);\r
-    STDMETHODIMP GetExtent(DWORD, SIZEL *);\r
-    STDMETHODIMP GetMiscStatus(DWORD, DWORD *);\r
-    STDMETHODIMP GetMoniker(DWORD, DWORD, LPMONIKER *);\r
-    STDMETHODIMP GetUserClassID(CLSID *);\r
-    STDMETHODIMP GetUserType(DWORD, LPOLESTR *);\r
-    STDMETHODIMP InitFromData(IDataObject *, BOOL, DWORD);\r
-    STDMETHODIMP IsUpToDate(void);\r
-    STDMETHODIMP SetClientSite(LPOLECLIENTSITE);\r
-    STDMETHODIMP SetColorScheme(LOGPALETTE *);\r
-    STDMETHODIMP SetExtent(DWORD, SIZEL *);\r
-    STDMETHODIMP SetHostNames(LPCOLESTR, LPCOLESTR) ;\r
-    STDMETHODIMP SetMoniker(DWORD, LPMONIKER);\r
-    STDMETHODIMP Unadvise(DWORD);\r
-    STDMETHODIMP Update(void);\r
-\r
-private:\r
-\r
-    HRESULT doInPlaceActivate(LPMSG lpMsg, LPOLECLIENTSITE pActiveSite, HWND hwndParent, LPCRECT lprcPosRect);\r
-    HRESULT doUIActivate(LPMSG lpMsg, LPOLECLIENTSITE pActiveSite, HWND hwndParent, LPCRECT lprcPosRect);\r
-\r
-    IOleAdviseHolder *_p_advise_holder;\r
-    IOleClientSite *_p_clientsite;\r
-\r
-    VLCPlugin *_p_instance;\r
-};\r
-\r
-#endif\r
-\r
+/*****************************************************************************
+ * oleobject.h: ActiveX control for VLC
+ *****************************************************************************
+ * Copyright (C) 2005 the VideoLAN team
+ *
+ * Authors: Damien Fouilleul <Damien.Fouilleul@laposte.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+
+#ifndef __OLEOBJECT_H__
+#define __OLEOBJECT_H__
+
+class VLCOleObject : public IOleObject
+{
+
+public:
+
+    VLCOleObject(VLCPlugin *p_instance);
+    virtual ~VLCOleObject();
+
+    // IUnknown methods
+    STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
+    {
+        if( NULL == ppv )
+            return E_POINTER;
+        if( (IID_IUnknown == riid)
+         || (IID_IOleObject == riid) )
+        {
+            AddRef();
+            *ppv = reinterpret_cast<LPVOID>(this);
+            return NOERROR;
+        }
+        return _p_instance->pUnkOuter->QueryInterface(riid, ppv);
+    };
+
+    STDMETHODIMP_(ULONG) AddRef(void) { return _p_instance->pUnkOuter->AddRef(); };
+    STDMETHODIMP_(ULONG) Release(void) { return _p_instance->pUnkOuter->Release(); };
+
+    // IOleObject methods
+    STDMETHODIMP Advise(IAdviseSink *, LPDWORD);
+    STDMETHODIMP Close(DWORD);
+    STDMETHODIMP DoVerb(LONG, LPMSG, LPOLECLIENTSITE, LONG, HWND, LPCRECT);
+    STDMETHODIMP EnumAdvise(IEnumSTATDATA **);
+    STDMETHODIMP EnumVerbs(IEnumOleVerb **);
+    STDMETHODIMP GetClientSite(LPOLECLIENTSITE *);
+    STDMETHODIMP GetClipboardData(DWORD, LPDATAOBJECT *);
+    STDMETHODIMP GetExtent(DWORD, SIZEL *);
+    STDMETHODIMP GetMiscStatus(DWORD, DWORD *);
+    STDMETHODIMP GetMoniker(DWORD, DWORD, LPMONIKER *);
+    STDMETHODIMP GetUserClassID(CLSID *);
+    STDMETHODIMP GetUserType(DWORD, LPOLESTR *);
+    STDMETHODIMP InitFromData(IDataObject *, BOOL, DWORD);
+    STDMETHODIMP IsUpToDate(void);
+    STDMETHODIMP SetClientSite(LPOLECLIENTSITE);
+    STDMETHODIMP SetColorScheme(LOGPALETTE *);
+    STDMETHODIMP SetExtent(DWORD, SIZEL *);
+    STDMETHODIMP SetHostNames(LPCOLESTR, LPCOLESTR) ;
+    STDMETHODIMP SetMoniker(DWORD, LPMONIKER);
+    STDMETHODIMP Unadvise(DWORD);
+    STDMETHODIMP Update(void);
+
+private:
+
+    HRESULT doInPlaceActivate(LPMSG lpMsg, LPOLECLIENTSITE pActiveSite, HWND hwndParent, LPCRECT lprcPosRect, BOOL uiActivate);
+
+    IOleAdviseHolder *_p_advise_holder;
+    IOleClientSite *_p_clientsite;
+
+    VLCPlugin *_p_instance;
+};
+
+#endif
+