summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/basic-services.cpp4
-rw-r--r--core/core.project1
-rw-r--r--core/main.cpp2
-rw-r--r--core/modules.cpp16
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;
}
}