Mercurial > hg > orthanc
diff OrthancServer/main.cpp @ 1434:f9cd40166269
refactoring of OrthancPlugins, improvement in ServeFolders
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 30 Jun 2015 16:04:05 +0200 |
parents | 461e7554bff7 |
children | 0a3e3be59094 |
line wrap: on
line diff
--- a/OrthancServer/main.cpp Tue Jun 30 15:09:34 2015 +0200 +++ b/OrthancServer/main.cpp Tue Jun 30 16:04:05 2015 +0200 @@ -49,7 +49,6 @@ #include "OrthancFindRequestHandler.h" #include "OrthancMoveRequestHandler.h" #include "ServerToolbox.h" -#include "../Plugins/Engine/PluginsManager.h" #include "../Plugins/Engine/OrthancPlugins.h" #include "FromDcmtkBridge.h" @@ -369,16 +368,16 @@ } -static void LoadPlugins(PluginsManager& pluginsManager) +static void LoadPlugins(OrthancPlugins& plugins) { - std::list<std::string> plugins; - Configuration::GetGlobalListOfStringsParameter(plugins, "Plugins"); + std::list<std::string> path; + Configuration::GetGlobalListOfStringsParameter(path, "Plugins"); for (std::list<std::string>::const_iterator - it = plugins.begin(); it != plugins.end(); ++it) + it = path.begin(); it != path.end(); ++it) { std::string path = Configuration::InterpretStringParameterAsPath(*it); LOG(WARNING) << "Loading plugin(s) from: " << path; - pluginsManager.RegisterPlugin(path); + plugins.GetManager().RegisterPlugin(path); } } @@ -389,11 +388,9 @@ static bool StartOrthanc(int argc, char *argv[]) { #if ENABLE_PLUGINS == 1 - OrthancPlugins orthancPlugins; - orthancPlugins.SetCommandLineArguments(argc, argv); - PluginsManager pluginsManager; - pluginsManager.RegisterServiceProvider(orthancPlugins); - LoadPlugins(pluginsManager); + OrthancPlugins plugins; + plugins.SetCommandLineArguments(argc, argv); + LoadPlugins(plugins); #endif // "storage" and "database" must be declared BEFORE "ServerContext @@ -402,9 +399,9 @@ std::auto_ptr<IStorageArea> storage; std::auto_ptr<ServerContext> context; - if (orthancPlugins.HasDatabase()) + if (plugins.HasDatabase()) { - context.reset(new ServerContext(orthancPlugins.GetDatabase())); + context.reset(new ServerContext(plugins.GetDatabase())); } else { @@ -483,9 +480,9 @@ #endif #if ENABLE_PLUGINS == 1 - orthancPlugins.SetServerContext(*context); - httpServer.RegisterHandler(orthancPlugins); - context->SetOrthancPlugins(pluginsManager, orthancPlugins); + plugins.SetServerContext(*context); + httpServer.RegisterHandler(plugins); + context->SetPlugins(plugins); #endif httpServer.RegisterHandler(staticResources); @@ -494,10 +491,10 @@ #if ENABLE_PLUGINS == 1 // Prepare the storage area - if (orthancPlugins.HasStorageArea()) + if (plugins.HasStorageArea()) { LOG(WARNING) << "Using a custom storage area from plugins"; - storage.reset(orthancPlugins.GetStorageArea()); + storage.reset(plugins.GetStorageArea()); } else #endif @@ -512,7 +509,7 @@ if (Configuration::GetGlobalBoolParameter("HttpServerEnabled", true)) { #if ENABLE_PLUGINS == 1 - orthancPlugins.SetOrthancRestApi(restApi); + plugins.SetOrthancRestApi(restApi); #endif httpServer.Start(); @@ -547,9 +544,9 @@ LOG(WARNING) << "Orthanc is stopping"; #if ENABLE_PLUGINS == 1 - context->ResetOrthancPlugins(); - orthancPlugins.Stop(); - orthancPlugins.ResetOrthancRestApi(); + context->ResetPlugins(); + plugins.Stop(); + plugins.ResetOrthancRestApi(); LOG(WARNING) << " Plugins have stopped"; #endif