~ubuntu-branches/ubuntu/maverick/blender/maverick

« back to all changes in this revision

Viewing changes to source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Khashayar Naderehvandi, Khashayar Naderehvandi, Alessio Treglia
  • Date: 2009-01-22 16:53:59 UTC
  • mfrom: (14.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20090122165359-v0996tn7fbit64ni
Tags: 2.48a+dfsg-1ubuntu1
[ Khashayar Naderehvandi ]
* Merge from debian experimental (LP: #320045), Ubuntu remaining changes:
  - Add patch correcting header file locations.
  - Add libvorbis-dev and libgsm1-dev to Build-Depends.
  - Use avcodec_decode_audio2() in source/blender/src/hddaudio.c

[ Alessio Treglia ]
* Add missing previous changelog entries.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/**
2
 
 * $Id: KX_NetworkMessageSensor.cpp 14444 2008-04-16 22:40:48Z hos $
 
2
 * $Id: KX_NetworkMessageSensor.cpp 16873 2008-10-02 00:22:28Z campbellbarton $
3
3
 *
4
4
 * ***** BEGIN GPL LICENSE BLOCK *****
5
5
 *
58
58
    m_NetworkScene(NetworkScene),
59
59
    m_subject(subject),
60
60
    m_frame_message_count (0),
61
 
    m_IsUp(false),
62
61
    m_BodyList(NULL),
63
62
    m_SubjectList(NULL)
64
63
{
 
64
        Init();
 
65
}
 
66
 
 
67
void KX_NetworkMessageSensor::Init()
 
68
{
 
69
    m_IsUp = false;
65
70
}
66
71
 
67
72
KX_NetworkMessageSensor::~KX_NetworkMessageSensor()
191
196
 
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,
201
 
                GetBodies_doc},
 
205
                KX_NetworkMessageSensor::sPyGetBodies, METH_NOARGS,
 
206
                (PY_METHODCHAR)GetBodies_doc},
202
207
        {"getSubject", (PyCFunction)
203
 
                KX_NetworkMessageSensor::sPyGetSubject, METH_VARARGS,
204
 
                GetSubject_doc},
 
208
                KX_NetworkMessageSensor::sPyGetSubject, METH_NOARGS,
 
209
                (PY_METHODCHAR)GetSubject_doc},
205
210
        {"getSubjects", (PyCFunction)
206
 
                KX_NetworkMessageSensor::sPyGetSubjects, METH_VARARGS,
207
 
                GetSubjects_doc},
 
211
                KX_NetworkMessageSensor::sPyGetSubjects, METH_NOARGS,
 
212
                (PY_METHODCHAR)GetSubjects_doc},
208
213
        {NULL,NULL} //Sentinel
209
214
};
210
215
 
213
218
}
214
219
 
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";
219
224
 
220
 
PyObject* KX_NetworkMessageSensor::PySetSubjectFilterText(
221
 
        PyObject* self,
222
 
        PyObject* args,
223
 
        PyObject* kwds)
 
225
PyObject* KX_NetworkMessageSensor::PySetSubjectFilterText( PyObject* self, PyObject* value)
224
226
{
225
 
        char* Subject;
226
 
 
227
 
        if (PyArg_ParseTuple(args, "s", &Subject))
228
 
        {
229
 
             m_subject = Subject;
 
227
        char* Subject = PyString_AsString(value);
 
228
        if (Subject==NULL) {
 
229
                PyErr_SetString(PyExc_TypeError, "expected a string message");
 
230
                return NULL;
230
231
        }
231
 
 
232
 
        Py_Return;
 
232
        
 
233
        m_subject = Subject;
 
234
        Py_RETURN_NONE;
233
235
}
234
236
 
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";
239
241
 
240
 
PyObject* KX_NetworkMessageSensor::PyGetFrameMessageCount(
241
 
        PyObject* self,
242
 
        PyObject* args,
243
 
        PyObject* kwds)
 
242
PyObject* KX_NetworkMessageSensor::PyGetFrameMessageCount( PyObject* )
244
243
{
245
244
        return PyInt_FromLong(long(m_frame_message_count));
246
245
}
247
246
 
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";
252
251
 
253
 
PyObject* KX_NetworkMessageSensor::PyGetBodies(
254
 
        PyObject* self,
255
 
        PyObject* args,
256
 
        PyObject* kwds)
 
252
PyObject* KX_NetworkMessageSensor::PyGetBodies( PyObject* )
257
253
{
258
254
        if (m_BodyList) {
259
255
                return ((PyObject*) m_BodyList->AddRef());
 
256
        } else {
 
257
                return ((PyObject*) new CListValue());
260
258
        }
261
 
 
262
 
        Py_Return;
263
259
}
264
260
 
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";
269
265
 
270
 
PyObject* KX_NetworkMessageSensor::PyGetSubject(
271
 
        PyObject* self,
272
 
        PyObject* args,
273
 
        PyObject* kwds)
 
266
PyObject* KX_NetworkMessageSensor::PyGetSubject( PyObject* )
274
267
{
275
 
        if (m_subject) {
276
 
                return PyString_FromString(m_subject);
277
 
        }
278
 
 
279
 
        Py_Return;
 
268
        return PyString_FromString(m_subject ? m_subject : "");
280
269
}
281
270
 
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";
286
275
 
287
 
PyObject* KX_NetworkMessageSensor::PyGetSubjects(
288
 
           PyObject* self,
289
 
           PyObject* args,
290
 
           PyObject* kwds)
 
276
PyObject* KX_NetworkMessageSensor::PyGetSubjects( PyObject* )
291
277
{
292
278
        if (m_SubjectList) {
293
 
          return ((PyObject*) m_SubjectList->AddRef());
294
 
          }
295
 
 
296
 
        Py_Return;
 
279
                return ((PyObject*) m_SubjectList->AddRef());
 
280
        } else {
 
281
                return ((PyObject*) new CListValue());
 
282
        }
297
283
}