diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2010-10-30 21:19:05 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2010-10-30 21:19:05 +0300 |
commit | 6add86d17a430db932bc0dc9af44da5dcb327fec (patch) | |
tree | a8e360a8736b91f9acaa2b94b91c4ea695c128c6 /core | |
parent | 7991233458276eb1d24617880bed8da52e866889 (diff) |
service usage example
Diffstat (limited to 'core')
-rw-r--r-- | core/basic-services.cpp | 4 | ||||
-rw-r--r-- | core/core.project | 1 | ||||
-rw-r--r-- | core/main.cpp | 2 | ||||
-rw-r--r-- | core/modules.cpp | 16 |
4 files changed, 16 insertions, 7 deletions
diff --git a/core/basic-services.cpp b/core/basic-services.cpp index 3774007..ffefa3a 100644 --- a/core/basic-services.cpp +++ b/core/basic-services.cpp @@ -1,8 +1,8 @@ #include "commonheaders.h" -SERVICE get_version(void*) +void *get_version(void*) { - return 0; + return (void*)ec_version; } diff --git a/core/core.project b/core/core.project index b9a5038..aa4654e 100644 --- a/core/core.project +++ b/core/core.project @@ -21,6 +21,7 @@ <File Name="globals.h"/> <File Name="modules.h"/> <File Name="services.h"/> + <File Name="../api/ec_pluginapi.h"/> </VirtualDirectory> <Settings Type="Executable"> <Configuration Name="Debug" CompilerType="gnu gcc" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append"> diff --git a/core/main.cpp b/core/main.cpp index 36b6f92..2d0ca24 100644 --- a/core/main.cpp +++ b/core/main.cpp @@ -22,6 +22,8 @@ int ACE_MAIN(int argc, char *argv[]) #endif void load_modules(); void run_plugins(); + void register_core_services(); + register_core_services(); logger.log(LM_DEBUG, "Loading plugins...\n"); load_modules(); logger.log(LM_DEBUG, "Running plugins...\n"); diff --git a/core/modules.cpp b/core/modules.cpp index a8b6644..437c401 100644 --- a/core/modules.cpp +++ b/core/modules.cpp @@ -73,14 +73,20 @@ void run_plugins() std::list<plugin*>::iterator end = plugins.end(); for(std::list<plugin*>::iterator i = plugins.begin(); i != end; ++i) { - boost::thread *thr; - thr = new boost::thread(boost::bind((*i)->get_exported_functions()->Load, &pluglink)); + boost::thread *thr = new boost::thread(boost::bind((*i)->get_exported_functions()->Load, &pluglink)); if(!thr->timed_join(boost::posix_time::seconds(10))) - logger.log(LM_DEBUG, "Thread execution timeout, plugin %s basic initialisation failed.\n", toUTF8((*i)->get_plugininfo()->name).c_str()); + logger.log(LM_DEBUG, "Thread execution timeout, plugin \"%s\" basic initialisation failed.\n", toUTF8((*i)->get_plugininfo()->name).c_str()); + else + logger.log(LM_DEBUG, "plugin \"%s\" basic initialisation success.\n", toUTF8((*i)->get_plugininfo()->name).c_str()); delete thr; - thr = new boost::thread(boost::bind((*i)->get_exported_functions()->OnModulesLoaded)); + } + for(std::list<plugin*>::iterator i = plugins.begin(); i != end; ++i) + { + boost::thread *thr = new boost::thread(boost::bind((*i)->get_exported_functions()->OnModulesLoaded)); if(!thr->timed_join(boost::posix_time::seconds(15))) - logger.log(LM_DEBUG, "Thread execution timeout, plugin %s main initialisation failed.\n", toUTF8((*i)->get_plugininfo()->name).c_str()); + logger.log(LM_DEBUG, "Thread execution timeout, plugin \"%s\" main initialisation failed.\n", toUTF8((*i)->get_plugininfo()->name).c_str()); + else + logger.log(LM_DEBUG, "plugin \"%s\" main initialisation success.\n", toUTF8((*i)->get_plugininfo()->name).c_str()); delete thr; } } |