@ -84,7 +84,12 @@ PyObject* NewContainer(CMessage* parent,
return NULL ;
}
# if PY_MAJOR_VERSION >= 3
PyObject * obj = PyType_GenericAlloc (
reinterpret_cast < PyTypeObject * > ( MessageMapContainer_Type ) , 0 ) ;
# else
PyObject * obj = PyType_GenericAlloc ( & MessageMapContainer_Type , 0 ) ;
# endif
if ( obj = = NULL ) {
return PyErr_Format ( PyExc_RuntimeError ,
" Could not allocate new container. " ) ;
@ -458,6 +463,28 @@ PyObject* IterNext(PyObject* _self) {
} // namespace message_map_iterator
# if PY_MAJOR_VERSION >= 3
static PyType_Slot MessageMapContainer_Type_slots [ ] = {
{ Py_tp_dealloc , ( void * ) message_map_container : : Dealloc } ,
{ Py_mp_length , ( void * ) message_map_container : : Length } ,
{ Py_mp_subscript , ( void * ) message_map_container : : GetItem } ,
{ Py_mp_ass_subscript , ( void * ) message_map_container : : SetItem } ,
{ Py_tp_methods , ( void * ) message_map_container : : Methods } ,
{ Py_tp_iter , ( void * ) message_map_container : : GetIterator } ,
{ 0 , 0 }
} ;
PyType_Spec MessageMapContainer_Type_spec = {
FULL_MODULE_NAME " .MessageMapContainer " ,
sizeof ( MessageMapContainer ) ,
0 ,
Py_TPFLAGS_DEFAULT ,
MessageMapContainer_Type_slots
} ;
PyObject * MessageMapContainer_Type ;
# else
PyTypeObject MessageMapContainer_Type = {
PyVarObject_HEAD_INIT ( & PyType_Type , 0 )
FULL_MODULE_NAME " .MessageMapContainer " , // tp_name
@ -496,6 +523,7 @@ PyTypeObject MessageMapContainer_Type = {
0 , // tp_dictoffset
0 , // tp_init
} ;
# endif
PyTypeObject MessageMapIterator_Type = {
PyVarObject_HEAD_INIT ( & PyType_Type , 0 )