From: <mha...@us...> - 2003-10-08 04:28:46
|
Update of /cvsroot/pywin32/pywin32/com/win32com/src/include In directory sc8-pr-cvs1:/tmp/cvs-serv13856/include Modified Files: PyComTypeObjects.h Added Files: PyIDataObject.h PyIEnumFORMATETC.h Log Message: Add IDataFormat and support for FORMATETC and STGMEDIUM --- NEW FILE: PyIDataObject.h --- // This file declares the IDataObject Interface and Gateway for Python. // Generated by makegw.py // --------------------------------------------------- // // Interface Declaration class PyIDataObject : public PyIUnknown { public: MAKE_PYCOM_CTOR(PyIDataObject); static IDataObject *GetI(PyObject *self); static PyComTypeObject type; // The Python methods static PyObject *GetData(PyObject *self, PyObject *args); static PyObject *GetDataHere(PyObject *self, PyObject *args); static PyObject *QueryGetData(PyObject *self, PyObject *args); static PyObject *GetCanonicalFormatEtc(PyObject *self, PyObject *args); static PyObject *SetData(PyObject *self, PyObject *args); static PyObject *EnumFormatEtc(PyObject *self, PyObject *args); static PyObject *DAdvise(PyObject *self, PyObject *args); static PyObject *DUnadvise(PyObject *self, PyObject *args); static PyObject *EnumDAdvise(PyObject *self, PyObject *args); protected: PyIDataObject(IUnknown *pdisp); ~PyIDataObject(); }; // --------------------------------------------------- // // Gateway Declaration class PyGDataObject : public PyGatewayBase, public IDataObject { protected: PyGDataObject(PyObject *instance) : PyGatewayBase(instance) { ; } PYGATEWAY_MAKE_SUPPORT2(PyGDataObject, IDataObject, IID_IDataObject, PyGatewayBase) // IDataObject STDMETHOD(GetData)( FORMATETC * pformatetcIn, STGMEDIUM * pmedium); STDMETHOD(GetDataHere)( FORMATETC * pformatetc, STGMEDIUM * pmedium); STDMETHOD(QueryGetData)( FORMATETC * pformatetc); STDMETHOD(GetCanonicalFormatEtc)( FORMATETC * pformatectIn, FORMATETC * pformatetcOut); STDMETHOD(SetData)( FORMATETC * pformatetc, STGMEDIUM * pmedium, BOOL fRelease); STDMETHOD(EnumFormatEtc)( DWORD dwDirection, IEnumFORMATETC ** ppenumFormatEtc); STDMETHOD(DAdvise)( FORMATETC * pformatetc, DWORD advf, IAdviseSink * pAdvSink, DWORD * pdwConnection); STDMETHOD(DUnadvise)( DWORD dwConnection); STDMETHOD(EnumDAdvise)( IEnumSTATDATA ** ppenumAdvise); }; --- NEW FILE: PyIEnumFORMATETC.h --- // This file declares the IEnumFORMATETC Interface and Gateway for Python. // Generated by makegw.py // --------------------------------------------------- // // Interface Declaration class PyIEnumFORMATETC : public PyIUnknown { public: MAKE_PYCOM_CTOR(PyIEnumFORMATETC); static IEnumFORMATETC *GetI(PyObject *self); static PyComTypeObject type; virtual PyObject *iter(); virtual PyObject *iternext(); // The Python methods static PyObject *Next(PyObject *self, PyObject *args); static PyObject *Skip(PyObject *self, PyObject *args); static PyObject *Reset(PyObject *self, PyObject *args); static PyObject *Clone(PyObject *self, PyObject *args); protected: PyIEnumFORMATETC(IUnknown *pdisp); ~PyIEnumFORMATETC(); }; // --------------------------------------------------- // // Gateway Declaration class PyGEnumFORMATETC : public PyGatewayBase, public IEnumFORMATETC { protected: PyGEnumFORMATETC(PyObject *instance) : PyGatewayBase(instance) { ; } PYGATEWAY_MAKE_SUPPORT2(PyGEnumFORMATETC, IEnumFORMATETC, IID_IEnumFORMATETC, PyGatewayBase) // IEnumFORMATETC STDMETHOD(Next)( ULONG celt, FORMATETC *pi, ULONG __RPC_FAR * pcEltsfetched); STDMETHOD(Skip)( ULONG celt); STDMETHOD(Reset)( void); STDMETHOD(Clone)( IEnumFORMATETC __RPC_FAR *__RPC_FAR * ppepi); }; Index: PyComTypeObjects.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/include/PyComTypeObjects.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PyComTypeObjects.h 1 Sep 1999 23:04:13 -0000 1.1 --- PyComTypeObjects.h 8 Oct 2003 04:28:42 -0000 1.2 *************** *** 119,120 **** --- 119,140 ---- int varkind; }; + + class PYCOM_EXPORT PySTGMEDIUM : public PyObject + { + public: + PySTGMEDIUM(STGMEDIUM *pS = NULL); + virtual ~PySTGMEDIUM(void); + + void DropOwnership(void); + void Close(void); + static void deallocFunc(PyObject *ob); + static PyObject *getattr(PyObject *self, char *name); + STGMEDIUM medium; + #pragma warning( disable : 4251 ) + static struct memberlist memberlist[]; + static PyTypeObject Type; + #pragma warning( default : 4251 ) + }; + + PYCOM_EXPORT PySTGMEDIUM *PyObject_FromSTGMEDIUM(STGMEDIUM *desc = NULL); + #define PySTGMEDIUM_Check(x) ((x)->ob_type==&PySTGMEDIUM::Type) |