[Python-checkins] CVS: python/dist/src/Mac/Modules/qt qtsupport.py,1.15,1.16

Jack Jansen jackjansen@users.sourceforge.net
Thu, 17 May 2001 14:57:44 -0700


Update of /cvsroot/python/python/dist/src/Mac/Modules/qt
In directory usw-pr-cvs1:/tmp/cvs-serv8449/Python/Mac/Modules/qt

Modified Files:
	qtsupport.py 
Log Message:
First step in porting MacPython modules to OSX/unix: break all references between modules except for the obj_New() and obj_Convert() routines, the PyArg_Parse and Py_BuildValue helpers. 

And these can now be vectored through glue routines (by defining USE_TOOLBOX_OBJECT_GLUE) which will do the necessary imports, whereupon the module's init routine will tell the glue routine about the real conversion routine address and everything is fine again.

Index: qtsupport.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/qt/qtsupport.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** qtsupport.py	2000/12/12 22:10:17	1.15
--- qtsupport.py	2001/05/17 21:57:42	1.16
***************
*** 27,31 ****
--- 27,58 ----
  #include <%s>""" % MACHEADERFILE + """
  
+ #ifdef USE_TOOLBOX_OBJECT_GLUE
+ extern PyObject *_TrackObj_New(Track);
+ extern int _TrackObj_Convert(PyObject *, Track *);
+ extern PyObject *_MovieObj_New(Movie);
+ extern int _MovieObj_Convert(PyObject *, Movie *);
+ extern PyObject *_MovieCtlObj_New(MovieController);
+ extern int _MovieCtlObj_Convert(PyObject *, MovieController *);
+ extern PyObject *_TimeBaseObj_New(TimeBase);
+ extern int _TimeBaseObj_Convert(PyObject *, TimeBase *);
+ extern PyObject *_UserDataObj_New(UserData);
+ extern int _UserDataObj_Convert(PyObject *, UserData *);
+ extern PyObject *_MediaObj_New(Media);
+ extern int _MediaObj_Convert(PyObject *, Media *);
  
+ #define TrackObj_New _TrackObj_New
+ #define TrackObj_Convert _TrackObj_Convert
+ #define MovieObj_New _MovieObj_New
+ #define MovieObj_Convert _MovieObj_Convert
+ #define MovieCtlObj_New _MovieCtlObj_New
+ #define MovieCtlObj_Convert _MovieCtlObj_Convert
+ #define TimeBaseObj_New _TimeBaseObj_New
+ #define TimeBaseObj_Convert _TimeBaseObj_Convert
+ #define UserDataObj_New _UserDataObj_New
+ #define UserDataObj_Convert _UserDataObj_Convert
+ #define MediaObj_New _MediaObj_New
+ #define MediaObj_Convert _MediaObj_Convert
+ #endif
+ 
  /* Macro to allow us to GetNextInterestingTime without duration */
  #define GetMediaNextInterestingTimeOnly(media, flags, time, rate, rv) \
***************
*** 66,69 ****
--- 93,111 ----
  
  
+ """
+ 
+ initstuff = initstuff + """
+ 	PyMac_INIT_TOOLBOX_OBJECT_NEW(TrackObj_New);
+ 	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(TrackObj_Convert);
+ 	PyMac_INIT_TOOLBOX_OBJECT_NEW(MovieObj_New);
+ 	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(MovieObj_Convert);
+ 	PyMac_INIT_TOOLBOX_OBJECT_NEW(MovieCtlObj_New);
+ 	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(MovieCtlObj_Convert);
+ 	PyMac_INIT_TOOLBOX_OBJECT_NEW(TimeBaseObj_New);
+ 	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(TimeBaseObj_Convert);
+ 	PyMac_INIT_TOOLBOX_OBJECT_NEW(UserDataObj_New);
+ 	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(UserDataObj_Convert);
+ 	PyMac_INIT_TOOLBOX_OBJECT_NEW(MediaObj_New);
+ 	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(MediaObj_Convert);
  """