192
197
PyMethodDef KX_NetworkMessageSensor::Methods[] = {
193
198
{"setSubjectFilterText", (PyCFunction)
194
KX_NetworkMessageSensor::sPySetSubjectFilterText, METH_VARARGS,
195
SetSubjectFilterText_doc},
199
KX_NetworkMessageSensor::sPySetSubjectFilterText, METH_O,
200
(PY_METHODCHAR)SetSubjectFilterText_doc},
196
201
{"getFrameMessageCount", (PyCFunction)
197
KX_NetworkMessageSensor::sPyGetFrameMessageCount, METH_VARARGS,
198
GetFrameMessageCount_doc},
202
KX_NetworkMessageSensor::sPyGetFrameMessageCount, METH_NOARGS,
203
(PY_METHODCHAR)GetFrameMessageCount_doc},
199
204
{"getBodies", (PyCFunction)
200
KX_NetworkMessageSensor::sPyGetBodies, METH_VARARGS,
205
KX_NetworkMessageSensor::sPyGetBodies, METH_NOARGS,
206
(PY_METHODCHAR)GetBodies_doc},
202
207
{"getSubject", (PyCFunction)
203
KX_NetworkMessageSensor::sPyGetSubject, METH_VARARGS,
208
KX_NetworkMessageSensor::sPyGetSubject, METH_NOARGS,
209
(PY_METHODCHAR)GetSubject_doc},
205
210
{"getSubjects", (PyCFunction)
206
KX_NetworkMessageSensor::sPyGetSubjects, METH_VARARGS,
211
KX_NetworkMessageSensor::sPyGetSubjects, METH_NOARGS,
212
(PY_METHODCHAR)GetSubjects_doc},
208
213
{NULL,NULL} //Sentinel
215
220
// 1. Set the message subject that this sensor listens for
216
char KX_NetworkMessageSensor::SetSubjectFilterText_doc[] =
221
const char KX_NetworkMessageSensor::SetSubjectFilterText_doc[] =
217
222
"\tsetSubjectFilterText(value)\n"
218
223
"\tChange the message subject text that this sensor is listening to.\n";
220
PyObject* KX_NetworkMessageSensor::PySetSubjectFilterText(
225
PyObject* KX_NetworkMessageSensor::PySetSubjectFilterText( PyObject* self, PyObject* value)
227
if (PyArg_ParseTuple(args, "s", &Subject))
227
char* Subject = PyString_AsString(value);
229
PyErr_SetString(PyExc_TypeError, "expected a string message");
235
237
// 2. Get the number of messages received since the last frame
236
char KX_NetworkMessageSensor::GetFrameMessageCount_doc[] =
238
const char KX_NetworkMessageSensor::GetFrameMessageCount_doc[] =
237
239
"\tgetFrameMessageCount()\n"
238
240
"\tGet the number of messages received since the last frame.\n";
240
PyObject* KX_NetworkMessageSensor::PyGetFrameMessageCount(
242
PyObject* KX_NetworkMessageSensor::PyGetFrameMessageCount( PyObject* )
245
244
return PyInt_FromLong(long(m_frame_message_count));
248
247
// 3. Get the message bodies
249
char KX_NetworkMessageSensor::GetBodies_doc[] =
248
const char KX_NetworkMessageSensor::GetBodies_doc[] =
250
249
"\tgetBodies()\n"
251
250
"\tGet the list of message bodies.\n";
253
PyObject* KX_NetworkMessageSensor::PyGetBodies(
252
PyObject* KX_NetworkMessageSensor::PyGetBodies( PyObject* )
258
254
if (m_BodyList) {
259
255
return ((PyObject*) m_BodyList->AddRef());
257
return ((PyObject*) new CListValue());
265
261
// 4. Get the message subject: field of the message sensor
266
char KX_NetworkMessageSensor::GetSubject_doc[] =
262
const char KX_NetworkMessageSensor::GetSubject_doc[] =
267
263
"\tgetSubject()\n"
268
264
"\tGet the subject: field of the message sensor.\n";
270
PyObject* KX_NetworkMessageSensor::PyGetSubject(
266
PyObject* KX_NetworkMessageSensor::PyGetSubject( PyObject* )
276
return PyString_FromString(m_subject);
268
return PyString_FromString(m_subject ? m_subject : "");
282
271
// 5. Get the message subjects
283
char KX_NetworkMessageSensor::GetSubjects_doc[] =
272
const char KX_NetworkMessageSensor::GetSubjects_doc[] =
284
273
"\tgetSubjects()\n"
285
274
"\tGet list of message subjects.\n";
287
PyObject* KX_NetworkMessageSensor::PyGetSubjects(
276
PyObject* KX_NetworkMessageSensor::PyGetSubjects( PyObject* )
292
278
if (m_SubjectList) {
293
return ((PyObject*) m_SubjectList->AddRef());
279
return ((PyObject*) m_SubjectList->AddRef());
281
return ((PyObject*) new CListValue());