@ -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,44 +463,67 @@ PyObject* IterNext(PyObject* _self) {
} // namespace message_map_iterator
PyTypeObject MessageMapContainer_Type = {
PyVarObject_HEAD_INIT ( & PyType_Type , 0 )
FULL_MODULE_NAME " .MessageMapContainer " , // tp_name
sizeof ( MessageMapContainer ) , // tp_basicsize
0 , // tp_itemsize
message_map_container : : Dealloc , // tp_dealloc
0 , // tp_print
0 , // tp_getattr
0 , // tp_setattr
0 , // tp_compare
0 , // tp_repr
0 , // tp_as_number
0 , // tp_as_sequence
& message_map_container : : MpMethods , // tp_as_mapping
0 , // tp_hash
0 , // tp_call
0 , // tp_str
0 , // tp_getattro
0 , // tp_setattro
0 , // tp_as_buffer
Py_TPFLAGS_DEFAULT , // tp_flags
" A map container for message " , // tp_doc
0 , // tp_traverse
0 , // tp_clear
0 , // tp_richcompare
0 , // tp_weaklistoffset
message_map_container : : GetIterator , // tp_iter
0 , // tp_iternext
message_map_container : : Methods , // tp_methods
0 , // tp_members
0 , // tp_getset
0 , // tp_base
0 , // tp_dict
0 , // tp_descr_get
0 , // tp_descr_set
0 , // tp_dictoffset
0 , // tp_init
} ;
# 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
sizeof ( MessageMapContainer ) , // tp_basicsize
0 , // tp_itemsize
message_map_container : : Dealloc , // tp_dealloc
0 , // tp_print
0 , // tp_getattr
0 , // tp_setattr
0 , // tp_compare
0 , // tp_repr
0 , // tp_as_number
0 , // tp_as_sequence
& message_map_container : : MpMethods , // tp_as_mapping
0 , // tp_hash
0 , // tp_call
0 , // tp_str
0 , // tp_getattro
0 , // tp_setattro
0 , // tp_as_buffer
Py_TPFLAGS_DEFAULT , // tp_flags
" A map container for message " , // tp_doc
0 , // tp_traverse
0 , // tp_clear
0 , // tp_richcompare
0 , // tp_weaklistoffset
message_map_container : : GetIterator , // tp_iter
0 , // tp_iternext
message_map_container : : Methods , // tp_methods
0 , // tp_members
0 , // tp_getset
0 , // tp_base
0 , // tp_dict
0 , // tp_descr_get
0 , // tp_descr_set
0 , // tp_dictoffset
0 , // tp_init
} ;
# endif
PyTypeObject MessageMapIterator_Type = {
PyVarObject_HEAD_INIT ( & PyType_Type , 0 )