-/*****************************************************************************\r
- * connectioncontainer.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 __CONNECTIONCONTAINER_H__\r
-#define __CONNECTIONCONTAINER_H__\r
-\r
-#include <ocidl.h>\r
-#include <vector>\r
-\r
-using namespace std;\r
-\r
-class VLCConnectionPoint : public IConnectionPoint\r
-{\r
-\r
-public:\r
-\r
- VLCConnectionPoint(IConnectionPointContainer *p_cpc, REFIID iid) :\r
- _iid(iid), _p_cpc(p_cpc) {};\r
- virtual ~VLCConnectionPoint() {};\r
-\r
- // IUnknown methods\r
- STDMETHODIMP QueryInterface(REFIID riid, void **ppv)\r
- {\r
- if( NULL == ppv ) return E_POINTER;\r
- if( (IID_IUnknown == riid) \r
- && (IID_IConnectionPoint == riid) ) {\r
- AddRef();\r
- *ppv = reinterpret_cast<LPVOID>(this);\r
- return NOERROR;\r
- }\r
- // must be a standalone object\r
- return E_NOINTERFACE;\r
- };\r
-\r
- STDMETHODIMP_(ULONG) AddRef(void) { return _p_cpc->AddRef(); };\r
- STDMETHODIMP_(ULONG) Release(void) { return _p_cpc->Release(); };\r
-\r
- // IConnectionPoint methods\r
- STDMETHODIMP GetConnectionInterface(IID *);\r
- STDMETHODIMP GetConnectionPointContainer(LPCONNECTIONPOINTCONTAINER *);\r
- STDMETHODIMP Advise(IUnknown *, DWORD *);\r
- STDMETHODIMP Unadvise(DWORD);\r
- STDMETHODIMP EnumConnections(LPENUMCONNECTIONS *);\r
-\r
- void fireEvent(DISPID dispIdMember, DISPPARAMS* pDispParams);\r
- void firePropChangedEvent(DISPID dispId);\r
-\r
-private:\r
-\r
- REFIID _iid;\r
- IConnectionPointContainer *_p_cpc;\r
- vector<CONNECTDATA> _connections;\r
-};\r
-\r
-//////////////////////////////////////////////////////////////////////////\r
-\r
-class VLCConnectionPointContainer : public IConnectionPointContainer\r
-{\r
-\r
-public:\r
-\r
- VLCConnectionPointContainer(VLCPlugin *p_instance);\r
- virtual ~VLCConnectionPointContainer();\r
-\r
- // IUnknown methods\r
- STDMETHODIMP QueryInterface(REFIID riid, void **ppv)\r
- {\r
- if( (NULL != ppv)\r
- && (IID_IUnknown == riid) \r
- && (IID_IConnectionPointContainer == riid) ) {\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
- // IConnectionPointContainer methods\r
- STDMETHODIMP EnumConnectionPoints(LPENUMCONNECTIONPOINTS *);\r
- STDMETHODIMP FindConnectionPoint(REFIID, LPCONNECTIONPOINT *);\r
-\r
- void fireEvent(DISPID, DISPPARAMS*);\r
- void firePropChangedEvent(DISPID dispId);\r
-\r
-private:\r
-\r
- VLCPlugin *_p_instance;\r
- VLCConnectionPoint *_p_events;\r
- VLCConnectionPoint *_p_props;\r
- vector<LPCONNECTIONPOINT> _v_cps;\r
-};\r
-\r
-#endif\r
-\r
+/*****************************************************************************
+ * connectioncontainer.h: ActiveX control for VLC
+ *****************************************************************************
+ * Copyright (C) 2005 VideoLAN
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ *****************************************************************************/
+
+#ifndef __CONNECTIONCONTAINER_H__
+#define __CONNECTIONCONTAINER_H__
+
+#include <ocidl.h>
+#include <vector>
+
+using namespace std;
+
+class VLCConnectionPoint : public IConnectionPoint
+{
+
+public:
+
+ VLCConnectionPoint(IConnectionPointContainer *p_cpc, REFIID iid) :
+ _iid(iid), _p_cpc(p_cpc) {};
+ virtual ~VLCConnectionPoint() {};
+
+ // IUnknown methods
+ STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
+ {
+ if( NULL == ppv ) return E_POINTER;
+ if( (IID_IUnknown == riid)
+ && (IID_IConnectionPoint == riid) ) {
+ AddRef();
+ *ppv = reinterpret_cast<LPVOID>(this);
+ return NOERROR;
+ }
+ // must be a standalone object
+ return E_NOINTERFACE;
+ };
+
+ STDMETHODIMP_(ULONG) AddRef(void) { return _p_cpc->AddRef(); };
+ STDMETHODIMP_(ULONG) Release(void) { return _p_cpc->Release(); };
+
+ // IConnectionPoint methods
+ STDMETHODIMP GetConnectionInterface(IID *);
+ STDMETHODIMP GetConnectionPointContainer(LPCONNECTIONPOINTCONTAINER *);
+ STDMETHODIMP Advise(IUnknown *, DWORD *);
+ STDMETHODIMP Unadvise(DWORD);
+ STDMETHODIMP EnumConnections(LPENUMCONNECTIONS *);
+
+ void fireEvent(DISPID dispIdMember, DISPPARAMS* pDispParams);
+ void firePropChangedEvent(DISPID dispId);
+
+private:
+
+ REFIID _iid;
+ IConnectionPointContainer *_p_cpc;
+ vector<CONNECTDATA> _connections;
+};
+
+//////////////////////////////////////////////////////////////////////////
+
+class VLCConnectionPointContainer : public IConnectionPointContainer
+{
+
+public:
+
+ VLCConnectionPointContainer(VLCPlugin *p_instance);
+ virtual ~VLCConnectionPointContainer();
+
+ // IUnknown methods
+ STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
+ {
+ if( (NULL != ppv)
+ && (IID_IUnknown == riid)
+ && (IID_IConnectionPointContainer == riid) ) {
+ AddRef();
+ *ppv = reinterpret_cast<LPVOID>(this);
+ return NOERROR;
+ }
+ return _p_instance->QueryInterface(riid, ppv);
+ };
+
+ STDMETHODIMP_(ULONG) AddRef(void) { return _p_instance->AddRef(); };
+ STDMETHODIMP_(ULONG) Release(void) { return _p_instance->Release(); };
+
+ // IConnectionPointContainer methods
+ STDMETHODIMP EnumConnectionPoints(LPENUMCONNECTIONPOINTS *);
+ STDMETHODIMP FindConnectionPoint(REFIID, LPCONNECTIONPOINT *);
+
+ void fireEvent(DISPID, DISPPARAMS*);
+ void firePropChangedEvent(DISPID dispId);
+
+private:
+
+ VLCPlugin *_p_instance;
+ VLCConnectionPoint *_p_events;
+ VLCConnectionPoint *_p_props;
+ vector<LPCONNECTIONPOINT> _v_cps;
+};
+
+#endif
+