forked from bartvdbraak/blender
BGE message python api could return a CList type or None which makes exception checks annoying. just return an empty CList rather then None.
This commit is contained in:
parent
729af67742
commit
97178fecd9
@ -196,19 +196,19 @@ PyParentObject KX_NetworkMessageSensor::Parents[] = {
|
||||
|
||||
PyMethodDef KX_NetworkMessageSensor::Methods[] = {
|
||||
{"setSubjectFilterText", (PyCFunction)
|
||||
KX_NetworkMessageSensor::sPySetSubjectFilterText, METH_VARARGS,
|
||||
KX_NetworkMessageSensor::sPySetSubjectFilterText, METH_O,
|
||||
SetSubjectFilterText_doc},
|
||||
{"getFrameMessageCount", (PyCFunction)
|
||||
KX_NetworkMessageSensor::sPyGetFrameMessageCount, METH_VARARGS,
|
||||
KX_NetworkMessageSensor::sPyGetFrameMessageCount, METH_NOARGS,
|
||||
GetFrameMessageCount_doc},
|
||||
{"getBodies", (PyCFunction)
|
||||
KX_NetworkMessageSensor::sPyGetBodies, METH_VARARGS,
|
||||
KX_NetworkMessageSensor::sPyGetBodies, METH_NOARGS,
|
||||
GetBodies_doc},
|
||||
{"getSubject", (PyCFunction)
|
||||
KX_NetworkMessageSensor::sPyGetSubject, METH_VARARGS,
|
||||
KX_NetworkMessageSensor::sPyGetSubject, METH_NOARGS,
|
||||
GetSubject_doc},
|
||||
{"getSubjects", (PyCFunction)
|
||||
KX_NetworkMessageSensor::sPyGetSubjects, METH_VARARGS,
|
||||
KX_NetworkMessageSensor::sPyGetSubjects, METH_NOARGS,
|
||||
GetSubjects_doc},
|
||||
{NULL,NULL} //Sentinel
|
||||
};
|
||||
@ -222,22 +222,16 @@ char KX_NetworkMessageSensor::SetSubjectFilterText_doc[] =
|
||||
"\tsetSubjectFilterText(value)\n"
|
||||
"\tChange the message subject text that this sensor is listening to.\n";
|
||||
|
||||
PyObject* KX_NetworkMessageSensor::PySetSubjectFilterText(
|
||||
PyObject* self,
|
||||
PyObject* args,
|
||||
PyObject* kwds)
|
||||
PyObject* KX_NetworkMessageSensor::PySetSubjectFilterText( PyObject* self, PyObject* value)
|
||||
{
|
||||
char* Subject;
|
||||
|
||||
if (PyArg_ParseTuple(args, "s", &Subject))
|
||||
{
|
||||
m_subject = Subject;
|
||||
}
|
||||
else {
|
||||
char* Subject = PyString_AsString(value);
|
||||
if (Subject==NULL) {
|
||||
PyErr_SetString(PyExc_TypeError, "expected a string message");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Py_Return;
|
||||
|
||||
m_subject = Subject;
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
// 2. Get the number of messages received since the last frame
|
||||
@ -245,10 +239,7 @@ char KX_NetworkMessageSensor::GetFrameMessageCount_doc[] =
|
||||
"\tgetFrameMessageCount()\n"
|
||||
"\tGet the number of messages received since the last frame.\n";
|
||||
|
||||
PyObject* KX_NetworkMessageSensor::PyGetFrameMessageCount(
|
||||
PyObject* self,
|
||||
PyObject* args,
|
||||
PyObject* kwds)
|
||||
PyObject* KX_NetworkMessageSensor::PyGetFrameMessageCount( PyObject* )
|
||||
{
|
||||
return PyInt_FromLong(long(m_frame_message_count));
|
||||
}
|
||||
@ -258,16 +249,13 @@ char KX_NetworkMessageSensor::GetBodies_doc[] =
|
||||
"\tgetBodies()\n"
|
||||
"\tGet the list of message bodies.\n";
|
||||
|
||||
PyObject* KX_NetworkMessageSensor::PyGetBodies(
|
||||
PyObject* self,
|
||||
PyObject* args,
|
||||
PyObject* kwds)
|
||||
PyObject* KX_NetworkMessageSensor::PyGetBodies( PyObject* )
|
||||
{
|
||||
if (m_BodyList) {
|
||||
return ((PyObject*) m_BodyList->AddRef());
|
||||
} else {
|
||||
return ((PyObject*) new CListValue());
|
||||
}
|
||||
|
||||
Py_Return;
|
||||
}
|
||||
|
||||
// 4. Get the message subject: field of the message sensor
|
||||
@ -275,16 +263,9 @@ char KX_NetworkMessageSensor::GetSubject_doc[] =
|
||||
"\tgetSubject()\n"
|
||||
"\tGet the subject: field of the message sensor.\n";
|
||||
|
||||
PyObject* KX_NetworkMessageSensor::PyGetSubject(
|
||||
PyObject* self,
|
||||
PyObject* args,
|
||||
PyObject* kwds)
|
||||
PyObject* KX_NetworkMessageSensor::PyGetSubject( PyObject* )
|
||||
{
|
||||
if (m_subject) {
|
||||
return PyString_FromString(m_subject);
|
||||
}
|
||||
|
||||
Py_Return;
|
||||
return PyString_FromString(m_subject ? m_subject : "");
|
||||
}
|
||||
|
||||
// 5. Get the message subjects
|
||||
@ -292,14 +273,11 @@ char KX_NetworkMessageSensor::GetSubjects_doc[] =
|
||||
"\tgetSubjects()\n"
|
||||
"\tGet list of message subjects.\n";
|
||||
|
||||
PyObject* KX_NetworkMessageSensor::PyGetSubjects(
|
||||
PyObject* self,
|
||||
PyObject* args,
|
||||
PyObject* kwds)
|
||||
PyObject* KX_NetworkMessageSensor::PyGetSubjects( PyObject* )
|
||||
{
|
||||
if (m_SubjectList) {
|
||||
return ((PyObject*) m_SubjectList->AddRef());
|
||||
}
|
||||
|
||||
Py_Return;
|
||||
return ((PyObject*) m_SubjectList->AddRef());
|
||||
} else {
|
||||
return ((PyObject*) new CListValue());
|
||||
}
|
||||
}
|
||||
|
@ -74,11 +74,11 @@ public:
|
||||
|
||||
virtual PyObject* _getattr(const STR_String& attr);
|
||||
|
||||
KX_PYMETHOD_DOC(KX_NetworkMessageSensor, SetSubjectFilterText);
|
||||
KX_PYMETHOD_DOC(KX_NetworkMessageSensor, GetFrameMessageCount);
|
||||
KX_PYMETHOD_DOC(KX_NetworkMessageSensor, GetBodies);
|
||||
KX_PYMETHOD_DOC(KX_NetworkMessageSensor, GetSubject);
|
||||
KX_PYMETHOD_DOC(KX_NetworkMessageSensor, GetSubjects);
|
||||
KX_PYMETHOD_DOC_O(KX_NetworkMessageSensor, SetSubjectFilterText);
|
||||
KX_PYMETHOD_DOC_NOARGS(KX_NetworkMessageSensor, GetFrameMessageCount);
|
||||
KX_PYMETHOD_DOC_NOARGS(KX_NetworkMessageSensor, GetBodies);
|
||||
KX_PYMETHOD_DOC_NOARGS(KX_NetworkMessageSensor, GetSubject);
|
||||
KX_PYMETHOD_DOC_NOARGS(KX_NetworkMessageSensor, GetSubjects);
|
||||
|
||||
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user