From: <vo...@us...> - 2008-03-22 13:21:48
|
Revision: 707 http://opde.svn.sourceforge.net/opde/?rev=707&view=rev Author: volca Date: 2008-03-22 06:21:52 -0700 (Sat, 22 Mar 2008) Log Message: ----------- * typos, copy-paste mistake fixes * getObjectService function in Opde.Services Modified Paths: -------------- trunk/src/bindings/InputServiceBinder.cpp trunk/src/bindings/InputServiceBinder.h trunk/src/bindings/PropertyServiceBinder.h trunk/src/bindings/ServiceBinder.cpp trunk/src/bindings/ServiceBinder.h trunk/src/bindings/StringIteratorBinder.h trunk/src/services/object/ObjectService.h Modified: trunk/src/bindings/InputServiceBinder.cpp =================================================================== --- trunk/src/bindings/InputServiceBinder.cpp 2008-03-22 13:20:36 UTC (rev 706) +++ trunk/src/bindings/InputServiceBinder.cpp 2008-03-22 13:21:52 UTC (rev 707) @@ -69,7 +69,7 @@ typedef PythonCallback<InputEventMsg, PythonInputMessageConverter> PythonInputCallback; typedef shared_ptr<PythonInputCallback> PythonInputCallbackPtr; - // -------------------- Property Service -------------------- + // -------------------- Input Service -------------------- char* InputServiceBinder::msName = "InputService"; // ------------------------------------------ Modified: trunk/src/bindings/InputServiceBinder.h =================================================================== --- trunk/src/bindings/InputServiceBinder.h 2008-03-22 13:20:36 UTC (rev 706) +++ trunk/src/bindings/InputServiceBinder.h 2008-03-22 13:21:52 UTC (rev 707) @@ -33,7 +33,7 @@ namespace Python { - /// Property service python binder + /// Input service python binder class InputServiceBinder : public shared_ptr_binder<InputServicePtr> { public: static void init(PyObject* module); @@ -41,7 +41,7 @@ // --- Python type related methods --- static PyObject* getattr(PyObject *self, char *name); - /// creates a python object representation of the relation + /// creates a python object representation of the input service static PyObject* create(); // --- Methods --- Modified: trunk/src/bindings/PropertyServiceBinder.h =================================================================== --- trunk/src/bindings/PropertyServiceBinder.h 2008-03-22 13:20:36 UTC (rev 706) +++ trunk/src/bindings/PropertyServiceBinder.h 2008-03-22 13:21:52 UTC (rev 707) @@ -41,7 +41,7 @@ // --- Python type related methods --- static PyObject* getattr(PyObject *self, char *name); - /// creates a python object representation of the relation + /// creates a python object representation of the property service static PyObject* create(); // --- Methods --- Modified: trunk/src/bindings/ServiceBinder.cpp =================================================================== --- trunk/src/bindings/ServiceBinder.cpp 2008-03-22 13:20:36 UTC (rev 706) +++ trunk/src/bindings/ServiceBinder.cpp 2008-03-22 13:21:52 UTC (rev 707) @@ -31,6 +31,7 @@ #include "InputServiceBinder.h" #include "GUIServiceBinder.h" #include "DatabaseServiceBinder.h" +#include "ObjectServiceBinder.h" namespace Opde { namespace Python { @@ -46,6 +47,7 @@ {"getInputService", getInputService, METH_NOARGS}, {"getGUIService", getGUIService, METH_NOARGS}, {"getDatabaseService", getDatabaseService, METH_NOARGS}, + {"getObjectService", getObjectService, METH_NOARGS}, {NULL, NULL}, }; @@ -111,6 +113,15 @@ return NULL; } } + + PyObject* ServiceBinder::getObjectService(PyObject* self, PyObject* args) { + try { + return ObjectServiceBinder::create(); + } catch (BasicException &e) { + PyErr_Format(PyExc_EnvironmentError, "Exception happened while getting service: %s", e.getDetails().c_str()); + return NULL; + } + } PyObject* ServiceBinder::init(PyObject* container) { PyObject* module = Py_InitModule(msName, msMethods); @@ -128,6 +139,7 @@ GUIServiceBinder::init(module); LinkServiceBinder::init(module); LoopServiceBinder::init(module); + ObjectServiceBinder::init(module); // Publish some service constants PyModule_AddIntConstant(module, "SERVICE_ALL", SERVICE_ALL); Modified: trunk/src/bindings/ServiceBinder.h =================================================================== --- trunk/src/bindings/ServiceBinder.h 2008-03-22 13:20:36 UTC (rev 706) +++ trunk/src/bindings/ServiceBinder.h 2008-03-22 13:21:52 UTC (rev 707) @@ -45,6 +45,7 @@ static PyObject* getInputService(PyObject* self, PyObject* args); static PyObject* getGUIService(PyObject* self, PyObject* args); static PyObject* getDatabaseService(PyObject* self, PyObject* args); + static PyObject* getObjectService(PyObject* self, PyObject* args); protected: static PyMethodDef msMethods[]; Modified: trunk/src/bindings/StringIteratorBinder.h =================================================================== --- trunk/src/bindings/StringIteratorBinder.h 2008-03-22 13:20:36 UTC (rev 706) +++ trunk/src/bindings/StringIteratorBinder.h 2008-03-22 13:21:52 UTC (rev 707) @@ -22,13 +22,9 @@ * *****************************************************************************/ -#ifndef __LINKQUERYRESULYBINDER_H -#define __LINKQUERYRESULYBINDER_H +#ifndef __STRINGITERATORBINDER_H +#define __STRINGITERATORBINDER_H -#include "DTypeDef.h" -#include "BinaryService.h" -#include "LinkService.h" - namespace Opde { namespace Python { Modified: trunk/src/services/object/ObjectService.h =================================================================== --- trunk/src/services/object/ObjectService.h 2008-03-22 13:20:36 UTC (rev 706) +++ trunk/src/services/object/ObjectService.h 2008-03-22 13:21:52 UTC (rev 707) @@ -62,7 +62,6 @@ }; /** @brief Object service - service managing in-game objects. Holder of the object's scene nodes - * @todo Move the scenenode management back to RenderService (so we can use opde without renderer) * @todo Archetype object creation * @todo DonorType property management (together with Inherit service) * @todo Object queries - getAllConcrete, getAllArchetype, getMetapropertiesOf, etc. ObjectQuery class introduced @@ -78,7 +77,10 @@ virtual ~ObjectService(); - /// Creates a new concrete object, inheriting from archetype archetype, and returns it's id + /** Creates a new concrete object, inheriting from archetype archetype, and returns it's id + @param archetype The archetype object ID + @return int the new object's id + */ int create(int archetype); /// Begins creating a new object, but does not broadcast yet. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |