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)
|