@@ -28,6 +28,10 @@ template <TYPE>
2828{
2929%TypeHeaderCode
3030#include < QVector>
31+ #if (SIP_VERSION >= 0x040900)
32+ #define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
33+ #define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
34+ #endif
3135%End
3236
3337%ConvertFromTypeCode
@@ -79,17 +83,17 @@ template <TYPE>
7983 for (int i = 0 ; i < PyList_GET_SIZE (sipPy); ++i)
8084 {
8185 int state;
82- // TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
86+ // TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE , sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
8387 QVector<TYPE > * t = reinterpret_cast < QVector<TYPE > * >(sipConvertToMappedType (PyList_GET_ITEM (sipPy, i), qvector_qgspoint, sipTransferObj, SIP_NOT_NONE , &state, sipIsErr));
8488
8589 if (*sipIsErr)
8690 {
87- sipReleaseInstance (t, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , state);
91+ sipReleaseInstance (t, sipClass_TYPE , state);
8892 delete ql;
8993 return 0 ;
9094 }
9195 ql->append (*t);
92- sipReleaseInstance (t, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , state);
96+ sipReleaseInstance (t, sipClass_TYPE , state);
9397 }
9498
9599 *sipCppPtr = ql;
@@ -104,6 +108,10 @@ template <TYPE>
104108{
105109%TypeHeaderCode
106110#include < QVector>
111+ #if (SIP_VERSION >= 0x040900)
112+ #define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
113+ #define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
114+ #endif
107115%End
108116
109117%ConvertFromTypeCode
@@ -155,17 +163,17 @@ template <TYPE>
155163 for (int i = 0 ; i < PyList_GET_SIZE (sipPy); ++i)
156164 {
157165 int state;
158- // TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
166+ // TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE , sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
159167 QVector<QVector<TYPE > > * t = reinterpret_cast < QVector< QVector<TYPE > > * >(sipConvertToMappedType (PyList_GET_ITEM (sipPy, i), qvector_qgspoint, sipTransferObj, SIP_NOT_NONE , &state, sipIsErr));
160168
161169 if (*sipIsErr)
162170 {
163- sipReleaseInstance (t, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , state);
171+ sipReleaseInstance (t, sipClass_TYPE , state);
164172 delete ql;
165173 return 0 ;
166174 }
167175 ql->append (*t);
168- sipReleaseInstance (t, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , state);
176+ sipReleaseInstance (t, sipClass_TYPE , state);
169177 }
170178
171179 *sipCppPtr = ql;
@@ -179,6 +187,10 @@ template <TYPE>
179187{
180188%TypeHeaderCode
181189#include < QSet>
190+ #if (SIP_VERSION >= 0x040900)
191+ #define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
192+ #define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
193+ #endif
182194%End
183195
184196%ConvertFromTypeCode
@@ -229,6 +241,10 @@ template <TYPE>
229241{
230242%TypeHeaderCode
231243#include < QSet>
244+ #if (SIP_VERSION >= 0x040900)
245+ #define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
246+ #define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
247+ #endif
232248%End
233249
234250%ConvertFromTypeCode
@@ -245,7 +261,7 @@ template <TYPE>
245261 TYPE *t = new TYPE (*it);
246262 PyObject *tobj;
247263
248- if ((tobj = sipConvertFromNewInstance (t, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , sipTransferObj)) == NULL )
264+ if ((tobj = sipConvertFromNewInstance (t, sipClass_TYPE , sipTransferObj)) == NULL )
249265 {
250266 Py_DECREF (l);
251267 delete t;
@@ -265,7 +281,7 @@ template <TYPE>
265281 return 0 ;
266282
267283 for (int i = 0 ; i < PyList_GET_SIZE (sipPy); ++i)
268- if (!sipCanConvertToInstance (PyList_GET_ITEM (sipPy, i), (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , SIP_NOT_NONE ))
284+ if (!sipCanConvertToInstance (PyList_GET_ITEM (sipPy, i), sipClass_TYPE , SIP_NOT_NONE ))
269285 return 0 ;
270286
271287 return 1 ;
@@ -276,16 +292,16 @@ template <TYPE>
276292 for (int i = 0 ; i < PyList_GET_SIZE (sipPy); ++i)
277293 {
278294 int state;
279- TYPE * t = reinterpret_cast <TYPE *>(sipConvertToInstance (PyList_GET_ITEM (sipPy, i), (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , sipTransferObj, SIP_NOT_NONE , &state, sipIsErr));
295+ TYPE * t = reinterpret_cast <TYPE *>(sipConvertToInstance (PyList_GET_ITEM (sipPy, i), sipClass_TYPE , sipTransferObj, SIP_NOT_NONE , &state, sipIsErr));
280296
281297 if (*sipIsErr)
282298 {
283- sipReleaseInstance (t, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , state);
299+ sipReleaseInstance (t, sipClass_TYPE , state);
284300 delete qset;
285301 return 0 ;
286302 }
287303 qset->insert (*t);
288- sipReleaseInstance (t, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , state);
304+ sipReleaseInstance (t, sipClass_TYPE , state);
289305 }
290306
291307 *sipCppPtr = qset;
@@ -301,6 +317,10 @@ template<TYPE>
301317{
302318%TypeHeaderCode
303319#include < QMap>
320+ #if (SIP_VERSION >= 0x040900)
321+ #define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
322+ #define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
323+ #endif
304324%End
305325
306326%ConvertFromTypeCode
@@ -366,7 +386,7 @@ template<TYPE>
366386 Py_ssize_t j = 0 ;
367387 while (PyDict_Next (tobj, &j, &kobj2, &tobj2))
368388 {
369- if (!sipCanConvertToInstance (tobj2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , SIP_NOT_NONE ))
389+ if (!sipCanConvertToInstance (tobj2, sipClass_TYPE , SIP_NOT_NONE ))
370390 return 0 ;
371391 }
372392
@@ -393,17 +413,17 @@ template<TYPE>
393413 int k2 = PyInt_AsLong (kobj2);
394414 int state;
395415
396- TYPE * fa = reinterpret_cast <TYPE *>(sipConvertToInstance (tobj2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , sipTransferObj,SIP_NOT_NONE ,&state,sipIsErr));
416+ TYPE * fa = reinterpret_cast <TYPE *>(sipConvertToInstance (tobj2, sipClass_TYPE , sipTransferObj,SIP_NOT_NONE ,&state,sipIsErr));
397417
398418 if (*sipIsErr)
399419 {
400- sipReleaseInstance (tobj2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , state);
420+ sipReleaseInstance (tobj2, sipClass_TYPE , state);
401421 delete qm;
402422 return 0 ;
403423 }
404424
405425 qm2.insert (k2, *fa);
406- sipReleaseInstance (tobj2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE) , state);
426+ sipReleaseInstance (tobj2, sipClass_TYPE , state);
407427 }
408428 qm->insert (k, qm2);
409429 }
@@ -418,6 +438,10 @@ template<TYPE>
418438{
419439%TypeHeaderCode
420440#include < QMap>
441+ #if (SIP_VERSION >= 0x040900)
442+ #define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
443+ #define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
444+ #endif
421445%End
422446
423447%ConvertFromTypeCode
@@ -434,7 +458,7 @@ template<TYPE>
434458 {
435459 QString *t1 = new QString (i.key ());
436460
437- PyObject *t1obj = sipConvertFromNewInstance (t1, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString) , sipTransferObj);
461+ PyObject *t1obj = sipConvertFromNewInstance (t1, sipClass_QString , sipTransferObj);
438462 PyObject *t2obj = PyInt_FromLong ( (long ) i.value () );
439463
440464 if (t1obj == NULL || t2obj == NULL || PyDict_SetItem (d, t1obj, t2obj) < 0 )
@@ -480,7 +504,7 @@ template<TYPE>
480504
481505 while (PyDict_Next (sipPy, &i, &t1obj, &t2obj))
482506 {
483- if (!sipCanConvertToInstance (t1obj, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString) , SIP_NOT_NONE ))
507+ if (!sipCanConvertToInstance (t1obj, sipClass_QString , SIP_NOT_NONE ))
484508 return 0 ;
485509 }
486510
@@ -493,19 +517,19 @@ template<TYPE>
493517 {
494518 int state;
495519
496- QString *t1 = reinterpret_cast <QString *>(sipConvertToInstance (t1obj, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString) , sipTransferObj, SIP_NOT_NONE , &state, sipIsErr));
520+ QString *t1 = reinterpret_cast <QString *>(sipConvertToInstance (t1obj, sipClass_QString , sipTransferObj, SIP_NOT_NONE , &state, sipIsErr));
497521 QVariant::Type t2 = (QVariant::Type) PyInt_AsLong (t1obj);
498522
499523 if (*sipIsErr)
500524 {
501- sipReleaseInstance (t1, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString) , state);
525+ sipReleaseInstance (t1, sipClass_QString , state);
502526 delete qm;
503527 return 0 ;
504528 }
505529
506530 qm->insert (*t1, t2);
507531
508- sipReleaseInstance (t1, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString) , state);
532+ sipReleaseInstance (t1, sipClass_QString , state);
509533 }
510534
511535 *sipCppPtr = qm;
@@ -518,7 +542,11 @@ template<TYPE1, TYPE2>
518542%MappedType QMap<TYPE1 , TYPE2 *>
519543{
520544%TypeHeaderCode
521- #include < qmap.h>
545+ #include < QMap>
546+ #if (SIP_VERSION >= 0x040900)
547+ #define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
548+ #define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
549+ #endif
522550%End
523551
524552%ConvertFromTypeCode
@@ -536,8 +564,8 @@ template<TYPE1, TYPE2>
536564 TYPE1 *t1 = new TYPE1 (i.key ());
537565 TYPE2 *t2 = i.value ();
538566
539- PyObject *t1obj = sipConvertFromNewInstance (t1, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE1) , sipTransferObj);
540- PyObject *t2obj = sipConvertFromInstance (t2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE2) , sipTransferObj);
567+ PyObject *t1obj = sipConvertFromNewInstance (t1, sipClass_TYPE1 , sipTransferObj);
568+ PyObject *t2obj = sipConvertFromInstance (t2, sipClass_TYPE2 , sipTransferObj);
541569
542570 if (t1obj == NULL || t2obj == NULL || PyDict_SetItem (d, t1obj, t2obj) < 0 )
543571 {
@@ -581,10 +609,10 @@ template<TYPE1, TYPE2>
581609
582610 while (PyDict_Next (sipPy, &i, &t1obj, &t2obj))
583611 {
584- if (!sipCanConvertToInstance (t1obj, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE1) , SIP_NOT_NONE ))
612+ if (!sipCanConvertToInstance (t1obj, sipClass_TYPE1 , SIP_NOT_NONE ))
585613 return 0 ;
586614
587- if (!sipCanConvertToInstance (t2obj, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE2) , SIP_NOT_NONE ))
615+ if (!sipCanConvertToInstance (t2obj, sipClass_TYPE2 , SIP_NOT_NONE ))
588616 return 0 ;
589617 }
590618
@@ -597,22 +625,22 @@ template<TYPE1, TYPE2>
597625 {
598626 int state1, state2;
599627
600- TYPE1 *t1 = reinterpret_cast <TYPE1 *>(sipConvertToInstance (t1obj, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE1) , sipTransferObj, SIP_NOT_NONE , &state1, sipIsErr));
601- TYPE2 *t2 = reinterpret_cast <TYPE2 *>(sipConvertToInstance (t2obj, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE2) , sipTransferObj, SIP_NOT_NONE , &state2, sipIsErr));
628+ TYPE1 *t1 = reinterpret_cast <TYPE1 *>(sipConvertToInstance (t1obj, sipClass_TYPE1 , sipTransferObj, SIP_NOT_NONE , &state1, sipIsErr));
629+ TYPE2 *t2 = reinterpret_cast <TYPE2 *>(sipConvertToInstance (t2obj, sipClass_TYPE2 , sipTransferObj, SIP_NOT_NONE , &state2, sipIsErr));
602630
603631 if (*sipIsErr)
604632 {
605- sipReleaseInstance (t1, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE1) , state1);
606- sipReleaseInstance (t2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE2) , state2);
633+ sipReleaseInstance (t1, sipClass_TYPE1 , state1);
634+ sipReleaseInstance (t2, sipClass_TYPE2 , state2);
607635
608636 delete qm;
609637 return 0 ;
610638 }
611639
612640 qm->insert (*t1, t2);
613641
614- sipReleaseInstance (t1, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE1) , state1);
615- sipReleaseInstance (t2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE2) , state2);
642+ sipReleaseInstance (t1, sipClass_TYPE1 , state1);
643+ sipReleaseInstance (t2, sipClass_TYPE2 , state2);
616644 }
617645
618646 *sipCppPtr = qm;
@@ -626,6 +654,10 @@ template<double, TYPE2>
626654{
627655%TypeHeaderCode
628656#include < QMultiMap>
657+ #if (SIP_VERSION >= 0x040900)
658+ #define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
659+ #define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
660+ #endif
629661%End
630662
631663%ConvertFromTypeCode
@@ -644,7 +676,7 @@ template<double, TYPE2>
644676 const double t1 = i.key ();
645677 TYPE2 * t2 = &i.value ();
646678 PyObject *t1obj = PyFloat_FromDouble (t1);
647- PyObject *t2obj = sipConvertFromInstance (t2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE2) , sipTransferObj);
679+ PyObject *t2obj = sipConvertFromInstance (t2, sipClass_TYPE2 , sipTransferObj);
648680 if (PyDict_GetItem (d, t1obj) == NULL ) {
649681 PyObject *lst = PyList_New (0 );
650682 PyDict_SetItem (d, t1obj, lst);
@@ -697,7 +729,7 @@ template<double, TYPE2>
697729 {
698730 for (int i = 0 ; i < PyList_GET_SIZE (t2obj); ++i) {
699731 if (!sipCanConvertToInstance (PyList_GET_ITEM (t2obj, i),
700- (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE2) , SIP_NOT_NONE ))
732+ sipClass_TYPE2 , SIP_NOT_NONE ))
701733 return 0 ;
702734 }
703735 }
@@ -714,23 +746,23 @@ template<double, TYPE2>
714746 TYPE2 *t2 =
715747 reinterpret_cast <TYPE2 *>(sipConvertToInstance (PyList_GET_ITEM (t2obj,
716748 i),
717- (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE2) ,
749+ sipClass_TYPE2 ,
718750 sipTransferObj,
719751 SIP_NOT_NONE ,
720752 &state2,
721753 sipIsErr));
722754
723755 if (*sipIsErr)
724756 {
725- sipReleaseInstance (t2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE2) , state2);
757+ sipReleaseInstance (t2, sipClass_TYPE2 , state2);
726758
727759 delete qm;
728760 return 0 ;
729761 }
730762
731763 qm->insert (k, *t2);
732764
733- sipReleaseInstance (t2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_TYPE2) , state2);
765+ sipReleaseInstance (t2, sipClass_TYPE2 , state2);
734766 }
735767 }
736768
@@ -744,6 +776,10 @@ template<double, TYPE2>
744776{
745777%TypeHeaderCode
746778#include < QMap>
779+ #if (SIP_VERSION >= 0x040900)
780+ #define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
781+ #define sipClass_QVariant ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QVariant))
782+ #endif
747783%End
748784
749785%ConvertFromTypeCode
@@ -759,7 +795,7 @@ template<double, TYPE2>
759795 QgsOverlayObject* oobj = new QgsOverlayObject (*it.value ());
760796
761797 PyObject* keyobj = PyInt_FromLong (it.key ());
762- PyObject* pyOobj = sipConvertFromInstance (oobj, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_QgsOverlayObject) , sipTransferObj);
798+ PyObject* pyOobj = sipConvertFromInstance (oobj, sipClass_QgsOverlayObject , sipTransferObj);
763799 PyDict_SetItem (d, keyobj, pyOobj);
764800
765801 if (pyOobj == NULL || keyobj == NULL || PyDict_SetItem (d, keyobj, pyOobj) < 0 )
@@ -797,18 +833,18 @@ template<double, TYPE2>
797833 {
798834 int state;
799835 int t1 = (int )(PyFloat_AsDouble (t1obj));
800- QgsOverlayObject* t2 = reinterpret_cast <QgsOverlayObject*>(sipConvertToInstance (t2obj, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_QgsOverlayObject) , sipTransferObj, SIP_NOT_NONE , &state, sipIsErr));
836+ QgsOverlayObject* t2 = reinterpret_cast <QgsOverlayObject*>(sipConvertToInstance (t2obj, sipClass_QgsOverlayObject , sipTransferObj, SIP_NOT_NONE , &state, sipIsErr));
801837
802838 if (*sipIsErr)
803839 {
804- sipReleaseInstance (t2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_QgsOverlayObject) , state);
840+ sipReleaseInstance (t2, sipClass_QgsOverlayObject , state);
805841 delete qm;
806842 return 0 ;
807843 }
808844
809845 qm->insert (t1, t2);
810846
811- sipReleaseInstance (t2, (sipWrapperType *) sipTypeAsPyTypeObject (sipType_QgsOverlayObject) , state);
847+ sipReleaseInstance (t2, sipClass_QgsOverlayObject , state);
812848 }
813849
814850 *sipCppPtr = qm;
0 commit comments