From: <vo...@us...> - 2008-01-02 21:38:03
|
Revision: 522 http://opde.svn.sourceforge.net/opde/?rev=522&view=rev Author: volca Date: 2008-01-02 13:38:08 -0800 (Wed, 02 Jan 2008) Log Message: ----------- LoopClient out of InputService we have! Modified Paths: -------------- trunk/src/services/input/InputService.cpp trunk/src/services/input/InputService.h Modified: trunk/src/services/input/InputService.cpp =================================================================== --- trunk/src/services/input/InputService.cpp 2008-01-02 21:37:24 UTC (rev 521) +++ trunk/src/services/input/InputService.cpp 2008-01-02 21:38:08 UTC (rev 522) @@ -38,6 +38,12 @@ /*-------------------- InputService -------------------*/ /*-----------------------------------------------------*/ InputService::InputService(ServiceManager *manager, const std::string& name) : Service(manager, name), mMouse(NULL), mKeyboard(NULL), mDirectListener(NULL) { + // Loop client definition + mLoopClientDef.id = LOOPCLIENT_ID_INPUT; + mLoopClientDef.mask = LOOPMODE_RENDER; + mLoopClientDef.priority = LOOPCLIENT_PRIORITY_RENDERER; + mLoopClientDef.name = mName; + // Initialize the valid keys registerValidKey(KC_ESCAPE, "esc"); @@ -224,6 +230,10 @@ mInputSystem = NULL; } + + if (!mLoopService.isNull()) + mLoopService->removeLoopClient(this); + mRenderService.setNull(); } @@ -339,6 +349,11 @@ mouseState.height = height; } + + // Last step: Get the loop service and register as a listener + mLoopService = ServiceManager::getSingleton().getService("LoopService").as<LoopService>(); + mLoopService->addLoopClient(this); + return true; } Modified: trunk/src/services/input/InputService.h =================================================================== --- trunk/src/services/input/InputService.h 2008-01-02 21:37:24 UTC (rev 521) +++ trunk/src/services/input/InputService.h 2008-01-02 21:38:08 UTC (rev 522) @@ -272,6 +272,9 @@ /// Render service pointer RenderServicePtr mRenderService; + + /// Loop service pointer + LoopServicePtr mLoopService; }; /// Shared pointer to input service This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |