Changeset 5931 for branches/newapi
- Timestamp:
- 12/04/07 04:09:51 (12 months ago)
- Location:
- branches/newapi/licq
- Files:
-
- 4 added
- 7 modified
-
licq/event/eventqueue.h (added)
-
licq/interface/plugin.h (modified) (2 diffs)
-
src/event/CMakeLists.txt (modified) (1 diff)
-
src/event/eventqueue.cpp (added)
-
src/event/eventqueue.h (added)
-
src/event/test/CMakeLists.txt (modified) (1 diff)
-
src/event/test/eventqueuetest.cpp (added)
-
src/plugin/plugininstance.h (modified) (2 diffs)
-
src/plugin/plugininstanceimpl.cpp (modified) (3 diffs)
-
src/plugin/plugininstanceimpl.h (modified) (4 diffs)
-
src/plugin/pluginmanagerimpl.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/newapi/licq/licq/interface/plugin.h
r5921 r5931 30 30 { 31 31 32 class EventQueue; 32 33 class Log; 33 34 … … 74 75 /// The log that the plugin should use when logging. 75 76 Log* log; 77 78 /// The plugin's event queue. 79 EventQueue* eventQueue; 76 80 77 81 /// Number of arguments in argv. Always >= 1. -
branches/newapi/licq/src/event/CMakeLists.txt
r5894 r5931 3 3 event.cpp 4 4 eventloop.cpp 5 eventqueue.cpp 5 6 timerset.cpp 6 7 ) -
branches/newapi/licq/src/event/test/CMakeLists.txt
r5894 r5931 3 3 set(test_SRCS 4 4 descriptorsettest.cpp 5 eventqueuetest.cpp 5 6 eventtest.cpp 6 7 eventlooptest.cpp -
branches/newapi/licq/src/plugin/plugininstance.h
r5926 r5931 31 31 { 32 32 33 class EventQueue; 34 33 35 /** 34 36 * An abstract interface to ease unit testing. Please refer to … … 41 43 42 44 virtual Licq::Plugin::Id getPluginId() const = 0; 43 virtual Licq::Plugin* getPlugin() = 0; 44 virtual Licq::Thread* getThread() = 0; 45 virtual Licq::Plugin* getPlugin() const = 0; 46 virtual Licq::Thread* getThread() const = 0; 47 virtual LicqDaemon::EventQueue* getEventQueue() const = 0; 45 48 46 49 protected: -
branches/newapi/licq/src/plugin/plugininstanceimpl.cpp
r5926 r5931 49 49 myLogSink(sink) 50 50 { 51 mySetup.id = 0; 52 mySetup.log = NULL; 53 mySetup.argc = 0; 54 mySetup.argv = 0; 51 ::memset(&mySetup, 0, sizeof(mySetup)); 55 52 } 56 53 … … 68 65 myPlugin = NULL; 69 66 67 // Cleanup mySetup 70 68 delete static_cast<Log*>(mySetup.log); 69 delete static_cast<EventQueue*>(mySetup.eventQueue); 70 71 71 for (int i = 0; i < mySetup.argc; ++i) 72 72 free(mySetup.argv[i]); … … 92 92 mySetup.id = getNextPluginId(); 93 93 94 // Create the plugin's event queue 95 mySetup.eventQueue = new EventQueue(myInformation->name); 96 94 97 // Create the plugin 95 98 myPlugin = myLibrary->createPlugin(mySetup); -
branches/newapi/licq/src/plugin/plugininstanceimpl.h
r5921 r5931 21 21 #define LICQDAEMON_PLUGININSTANCEIMPL_H 22 22 23 #include "event/eventqueue.h" 23 24 #include "licq/thread/thread.h" 24 25 #include "plugin/plugininstance.h" … … 61 62 * @returns This plugin's Licq::Plugin instance. 62 63 */ 63 Licq::Plugin* getPlugin() ;64 Licq::Plugin* getPlugin() const; 64 65 65 66 /** … … 67 68 * @returns This plugin's thread. 68 69 */ 69 Licq::Thread* getThread(); 70 Licq::Thread* getThread() const; 71 72 /** 73 * @pre load() has been called successfully. 74 * @returns This plugin's event queue. 75 */ 76 EventQueue* getEventQueue() const; 70 77 71 78 private: … … 88 95 } 89 96 90 inline Licq::Plugin* LicqDaemon::PluginInstanceImpl::getPlugin() 97 inline Licq::Plugin* LicqDaemon::PluginInstanceImpl::getPlugin() const 91 98 { 92 99 return myPlugin; 93 100 } 94 101 95 inline Licq::Thread* LicqDaemon::PluginInstanceImpl::getThread() 102 inline Licq::Thread* LicqDaemon::PluginInstanceImpl::getThread() const 96 103 { 97 104 return myThread; 98 105 } 99 106 107 inline LicqDaemon::EventQueue* LicqDaemon::PluginInstanceImpl::getEventQueue() const 108 { 109 return static_cast<EventQueue*>(mySetup.eventQueue); 110 } 111 100 112 #endif -
branches/newapi/licq/src/plugin/pluginmanagerimpl.cpp
r5926 r5931 18 18 */ 19 19 20 #include "licq/event/eventqueue.h" 20 21 #include "plugin/plugincache.h" 21 22 #include "plugin/plugininstanceimpl.h" … … 65 66 instance->getThread()->start(); 66 67 68 // Send started event 69 boost::shared_ptr<Licq::Event> started = Licq::Event::create("started"); 70 instance->getEventQueue()->pushEvent(started); 71 67 72 return id; 68 73 }
