From: <vo...@us...> - 2009-12-17 11:52:47
|
Revision: 1316 http://opde.svn.sourceforge.net/opde/?rev=1316&view=rev Author: volca Date: 2009-12-17 11:52:32 +0000 (Thu, 17 Dec 2009) Log Message: ----------- a few fixes and changes to the platform service usage Modified Paths: -------------- trunk/src/bindings/ConfigServiceBinder.cpp trunk/src/bindings/ConfigServiceBinder.h trunk/src/main/Root.cpp trunk/src/main/Root.h trunk/src/services/platform/PlatformService.cpp Modified: trunk/src/bindings/ConfigServiceBinder.cpp =================================================================== --- trunk/src/bindings/ConfigServiceBinder.cpp 2009-10-29 16:36:34 UTC (rev 1315) +++ trunk/src/bindings/ConfigServiceBinder.cpp 2009-12-17 11:52:32 UTC (rev 1316) @@ -95,6 +95,11 @@ "Detects if the given configuration key is defined\n" "@type path: string\n" "@param path: The configuration file name\n"; + + const char* opde_ConfigService_setConfigPathOverride__doc__ = "setConfigPathOverride(path)\n" + "Sets a path that overrides the normal process of config loading - that means the path given will be the only one config files are loaded from.\n" + "@type path: string\n" + "@param path: The configuration directory\n"; // ------------------------------------------ PyMethodDef ConfigServiceBinder::msMethods[] = { @@ -102,6 +107,7 @@ {"getParam", getParam, METH_VARARGS, const_cast<char*>(opde_ConfigService_getParam__doc__)}, {"hasParam", hasParam, METH_VARARGS, const_cast<char*>(opde_ConfigService_hasParam__doc__)}, {"loadParams", loadParams, METH_VARARGS, const_cast<char*>(opde_ConfigService_loadParams__doc__)}, + {"setConfigPathOverride", setConfigPathOverride, METH_VARARGS, const_cast<char*>(opde_ConfigService_setConfigPathOverride__doc__)}, {NULL, NULL}, }; @@ -213,6 +219,28 @@ } // ------------------------------------------ + PyObject* ConfigServiceBinder::setConfigPathOverride(PyObject* self, PyObject* args) { + __PYTHON_EXCEPTION_GUARD_BEGIN_; + ConfigServicePtr o; + + if (!python_cast<ConfigServicePtr>(self, &msType, &o)) + __PY_CONVERR_RET; + + const char* path; + + if (PyArg_ParseTuple(args, "s", &path)) { + o->setConfigPathOverride(path); + + __PY_NONE_RET; + } else { + PyErr_SetString(PyExc_TypeError, "Expected a string parameter!"); + return NULL; + } + __PYTHON_EXCEPTION_GUARD_END_; + } + + + // ------------------------------------------ void ConfigServiceBinder::init(PyObject* module) { publishType(module, &msType, msName); } Modified: trunk/src/bindings/ConfigServiceBinder.h =================================================================== --- trunk/src/bindings/ConfigServiceBinder.h 2009-10-29 16:36:34 UTC (rev 1315) +++ trunk/src/bindings/ConfigServiceBinder.h 2009-12-17 11:52:32 UTC (rev 1316) @@ -50,6 +50,7 @@ static PyObject* getParam(PyObject* self, PyObject* args); static PyObject* hasParam(PyObject* self, PyObject* args); static PyObject* loadParams(PyObject* self, PyObject* args); + static PyObject* setConfigPathOverride(PyObject* self, PyObject* args); protected: /// Static type definition for ConfigService Modified: trunk/src/main/Root.cpp =================================================================== --- trunk/src/main/Root.cpp 2009-10-29 16:36:34 UTC (rev 1315) +++ trunk/src/main/Root.cpp 2009-12-17 11:52:32 UTC (rev 1316) @@ -124,11 +124,10 @@ LOG_INFO("Root: Registering custom archive factories"); // register the factories mDirArchiveFactory = new Ogre::CaseLessFileSystemArchiveFactory(); - // TODO: Decide if this should be used or not - // mCrfArchiveFactory = new Ogre::CrfArchiveFactory(); + mCrfArchiveFactory = new Ogre::CrfArchiveFactory(); Ogre::ArchiveManager::getSingleton().addArchiveFactory(mDirArchiveFactory); - // Ogre::ArchiveManager::getSingleton().addArchiveFactory(mCrfArchiveFactory); + Ogre::ArchiveManager::getSingleton().addArchiveFactory(mCrfArchiveFactory); if (serviceMask & SERVICE_RENDERER) { LOG_INFO("Root: Hooking up custom 8 bit image codecs"); Modified: trunk/src/main/Root.h =================================================================== --- trunk/src/main/Root.h 2009-10-29 16:36:34 UTC (rev 1315) +++ trunk/src/main/Root.h 2009-12-17 11:52:32 UTC (rev 1316) @@ -133,8 +133,10 @@ /// Loader for the PLDef scripts PLDefScriptLoader* mPLDefScriptLdr; + /// Factory for case-less filesystem archives Ogre::ArchiveFactory* mDirArchiveFactory; + /// Factory for Crf archives (zip archives with archivename prefix) Ogre::ArchiveFactory* mCrfArchiveFactory; // If ogre is not used, these point to particular managers we hijack Modified: trunk/src/services/platform/PlatformService.cpp =================================================================== --- trunk/src/services/platform/PlatformService.cpp 2009-10-29 16:36:34 UTC (rev 1315) +++ trunk/src/services/platform/PlatformService.cpp 2009-12-17 11:52:32 UTC (rev 1316) @@ -102,7 +102,7 @@ } const uint PlatformServiceFactory::getMask() { - return SERVICE_ENGINE; + return SERVICE_CORE; } const size_t PlatformServiceFactory::getSID() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |