# HG changeset patch # User Sebastien Jodogne # Date 1442837106 -7200 # Node ID eb8fbcf008b5b2c60786a2deae057282b97a786c # Parent 0d074f5f6069f14f2b45b6826d0253605c69e744 fix build with plugins disabled diff -r 0d074f5f6069 -r eb8fbcf008b5 OrthancServer/OrthancRestApi/OrthancRestSystem.cpp --- a/OrthancServer/OrthancRestApi/OrthancRestSystem.cpp Mon Sep 21 13:33:50 2015 +0200 +++ b/OrthancServer/OrthancRestApi/OrthancRestSystem.cpp Mon Sep 21 14:05:06 2015 +0200 @@ -65,6 +65,8 @@ result["StorageAreaPlugin"] = Json::nullValue; result["DatabaseBackendPlugin"] = Json::nullValue; +#if ORTHANC_PLUGINS_ENABLED == 1 + result["PluginsEnabled"] = true; const OrthancPlugins& plugins = OrthancRestApi::GetContext(call).GetPlugins(); if (plugins.HasStorageArea()) @@ -78,6 +80,9 @@ std::string p = plugins.GetDatabaseBackendLibrary().GetPath(); result["DatabaseBackendPlugin"] = boost::filesystem::canonical(p).string(); } +#else + result["PluginsEnabled"] = false; +#endif call.GetOutput().AnswerJson(result); } @@ -150,6 +155,7 @@ if (OrthancRestApi::GetContext(call).HasPlugins()) { +#if ORTHANC_PLUGINS_ENABLED == 1 std::list plugins; OrthancRestApi::GetContext(call).GetPlugins().GetManager().ListPlugins(plugins); @@ -158,6 +164,7 @@ { v.append(*it); } +#endif } call.GetOutput().AnswerJson(v); @@ -171,6 +178,7 @@ return; } +#if ORTHANC_PLUGINS_ENABLED == 1 const PluginsManager& manager = OrthancRestApi::GetContext(call).GetPlugins().GetManager(); std::string id = call.GetUriComponent("id", ""); @@ -208,6 +216,7 @@ call.GetOutput().AnswerJson(v); } +#endif } @@ -217,6 +226,7 @@ if (OrthancRestApi::GetContext(call).HasPlugins()) { +#if ORTHANC_PLUGINS_ENABLED == 1 const OrthancPlugins& plugins = OrthancRestApi::GetContext(call).GetPlugins(); const PluginsManager& manager = plugins.GetManager(); @@ -233,6 +243,7 @@ s += std::string(tmp) + "\n\n"; } } +#endif } call.GetOutput().AnswerBuffer(s, "application/javascript"); diff -r 0d074f5f6069 -r eb8fbcf008b5 OrthancServer/ServerContext.cpp --- a/OrthancServer/ServerContext.cpp Mon Sep 21 13:33:50 2015 +0200 +++ b/OrthancServer/ServerContext.cpp Mon Sep 21 14:05:06 2015 +0200 @@ -108,7 +108,9 @@ dicomCache_(provider_, DICOM_CACHE_SIZE), scheduler_(Configuration::GetGlobalIntegerParameter("LimitJobs", 10)), lua_(*this), +#if ORTHANC_PLUGINS_ENABLED == 1 plugins_(NULL), +#endif done_(false), queryRetrieveArchive_(Configuration::GetGlobalIntegerParameter("QueryRetrieveSize", 10)), defaultLocalAet_(Configuration::GetGlobalStringParameter("DicomAet", "ORTHANC")) @@ -435,6 +437,7 @@ } +#if ORTHANC_PLUGINS_ENABLED == 1 void ServerContext::SetPlugins(OrthancPlugins& plugins) { boost::recursive_mutex::scoped_lock lock(listenersMutex_); @@ -460,12 +463,6 @@ } - bool ServerContext::HasPlugins() const - { - return (plugins_ != NULL); - } - - const OrthancPlugins& ServerContext::GetPlugins() const { if (HasPlugins()) @@ -477,4 +474,16 @@ throw OrthancException(ErrorCode_InternalError); } } + +#endif + + + bool ServerContext::HasPlugins() const + { +#if ORTHANC_PLUGINS_ENABLED == 1 + return (plugins_ != NULL); +#else + return false; +#endif + } } diff -r 0d074f5f6069 -r eb8fbcf008b5 OrthancServer/ServerContext.h --- a/OrthancServer/ServerContext.h Mon Sep 21 13:33:50 2015 +0200 +++ b/OrthancServer/ServerContext.h Mon Sep 21 14:05:06 2015 +0200 @@ -119,7 +119,11 @@ ServerScheduler scheduler_; LuaScripting lua_; + +#if ORTHANC_PLUGINS_ENABLED == 1 OrthancPlugins* plugins_; +#endif + ServerListeners listeners_; boost::recursive_mutex listenersMutex_; @@ -242,12 +246,15 @@ * Management of the plugins **/ +#if ORTHANC_PLUGINS_ENABLED == 1 void SetPlugins(OrthancPlugins& plugins); void ResetPlugins(); + const OrthancPlugins& GetPlugins() const; +#endif + bool HasPlugins() const; - const OrthancPlugins& GetPlugins() const; }; } diff -r 0d074f5f6069 -r eb8fbcf008b5 OrthancServer/main.cpp --- a/OrthancServer/main.cpp Mon Sep 21 13:33:50 2015 +0200 +++ b/OrthancServer/main.cpp Mon Sep 21 14:05:06 2015 +0200 @@ -368,6 +368,8 @@ } + +#if ORTHANC_PLUGINS_ENABLED == 1 static void LoadPlugins(OrthancPlugins& plugins) { std::list path; @@ -380,6 +382,7 @@ plugins.GetManager().RegisterPlugin(path); } } +#endif @@ -496,6 +499,7 @@ static bool ConfigureHttpHandler(ServerContext& context, OrthancPlugins *plugins) { +#if ORTHANC_PLUGINS_ENABLED == 1 // By order of priority, first apply the "plugins" layer, so that // plugins can overwrite the built-in REST API of Orthanc if (plugins) @@ -503,6 +507,7 @@ assert(context.HasPlugins()); context.GetHttpHandler().Register(*plugins, false); } +#endif // Secondly, apply the "static resources" layer #if ORTHANC_STANDALONE == 1 @@ -593,19 +598,23 @@ LoadLuaScripts(context); +#if ORTHANC_PLUGINS_ENABLED == 1 if (plugins) { plugins->SetServerContext(context); context.SetPlugins(*plugins); } +#endif bool restart = ConfigureHttpHandler(context, plugins); context.Stop(); +#if ORTHANC_PLUGINS_ENABLED == 1 if (plugins) { context.ResetPlugins(); } +#endif return restart; } diff -r 0d074f5f6069 -r eb8fbcf008b5 Plugins/Engine/IPluginServiceProvider.h --- a/Plugins/Engine/IPluginServiceProvider.h Mon Sep 21 13:33:50 2015 +0200 +++ b/Plugins/Engine/IPluginServiceProvider.h Mon Sep 21 14:05:06 2015 +0200 @@ -32,6 +32,8 @@ #pragma once +#if ORTHANC_PLUGINS_ENABLED == 1 + #include "../Include/orthanc/OrthancCPlugin.h" #include "SharedLibrary.h" @@ -50,3 +52,5 @@ const void* parameters) = 0; }; } + +#endif diff -r 0d074f5f6069 -r eb8fbcf008b5 Plugins/Engine/OrthancPluginDatabase.cpp --- a/Plugins/Engine/OrthancPluginDatabase.cpp Mon Sep 21 13:33:50 2015 +0200 +++ b/Plugins/Engine/OrthancPluginDatabase.cpp Mon Sep 21 14:05:06 2015 +0200 @@ -33,6 +33,11 @@ #include "../../OrthancServer/PrecompiledHeadersServer.h" #include "OrthancPluginDatabase.h" +#if ORTHANC_PLUGINS_ENABLED != 1 +#error The plugin support is disabled +#endif + + #include "../../Core/OrthancException.h" #include "../../Core/Logging.h" #include "PluginsEnumerations.h" diff -r 0d074f5f6069 -r eb8fbcf008b5 Plugins/Engine/OrthancPluginDatabase.h --- a/Plugins/Engine/OrthancPluginDatabase.h Mon Sep 21 13:33:50 2015 +0200 +++ b/Plugins/Engine/OrthancPluginDatabase.h Mon Sep 21 14:05:06 2015 +0200 @@ -32,6 +32,8 @@ #pragma once +#if ORTHANC_PLUGINS_ENABLED == 1 + #include "../../OrthancServer/IDatabaseWrapper.h" #include "../Include/orthanc/OrthancCDatabasePlugin.h" #include "SharedLibrary.h" @@ -238,3 +240,5 @@ void AnswerReceived(const _OrthancPluginDatabaseAnswer& answer); }; } + +#endif diff -r 0d074f5f6069 -r eb8fbcf008b5 Plugins/Engine/OrthancPlugins.cpp --- a/Plugins/Engine/OrthancPlugins.cpp Mon Sep 21 13:33:50 2015 +0200 +++ b/Plugins/Engine/OrthancPlugins.cpp Mon Sep 21 14:05:06 2015 +0200 @@ -33,6 +33,11 @@ #include "../../OrthancServer/PrecompiledHeadersServer.h" #include "OrthancPlugins.h" +#if ORTHANC_PLUGINS_ENABLED != 1 +#error The plugin support is disabled +#endif + + #include "../../Core/ChunkedBuffer.h" #include "../../Core/HttpServer/HttpToolbox.h" #include "../../Core/Logging.h" diff -r 0d074f5f6069 -r eb8fbcf008b5 Plugins/Engine/OrthancPlugins.h --- a/Plugins/Engine/OrthancPlugins.h Mon Sep 21 13:33:50 2015 +0200 +++ b/Plugins/Engine/OrthancPlugins.h Mon Sep 21 14:05:06 2015 +0200 @@ -32,6 +32,19 @@ #pragma once +#if ORTHANC_PLUGINS_ENABLED != 1 + +#include + +namespace Orthanc +{ + class OrthancPlugins : public boost::noncopyable + { + }; +} + +#else + #include "../../Core/FileStorage/IStorageArea.h" #include "../../Core/HttpServer/IHttpHandler.h" #include "../../OrthancServer/IServerListener.h" @@ -168,3 +181,5 @@ const PluginsManager& GetManager() const; }; } + +#endif diff -r 0d074f5f6069 -r eb8fbcf008b5 Plugins/Engine/PluginsEnumerations.cpp --- a/Plugins/Engine/PluginsEnumerations.cpp Mon Sep 21 13:33:50 2015 +0200 +++ b/Plugins/Engine/PluginsEnumerations.cpp Mon Sep 21 14:05:06 2015 +0200 @@ -33,6 +33,11 @@ #include "../../OrthancServer/PrecompiledHeadersServer.h" #include "PluginsEnumerations.h" +#if ORTHANC_PLUGINS_ENABLED != 1 +#error The plugin support is disabled +#endif + + #include "../../Core/OrthancException.h" namespace Orthanc diff -r 0d074f5f6069 -r eb8fbcf008b5 Plugins/Engine/PluginsEnumerations.h --- a/Plugins/Engine/PluginsEnumerations.h Mon Sep 21 13:33:50 2015 +0200 +++ b/Plugins/Engine/PluginsEnumerations.h Mon Sep 21 14:05:06 2015 +0200 @@ -32,10 +32,11 @@ #pragma once +#if ORTHANC_PLUGINS_ENABLED == 1 + #include "../Include/orthanc/OrthancCPlugin.h" #include "../../OrthancServer/ServerEnumerations.h" - namespace Orthanc { namespace Plugins @@ -55,3 +56,5 @@ FileContentType Convert(OrthancPluginContentType type); } } + +#endif diff -r 0d074f5f6069 -r eb8fbcf008b5 Plugins/Engine/PluginsManager.cpp --- a/Plugins/Engine/PluginsManager.cpp Mon Sep 21 13:33:50 2015 +0200 +++ b/Plugins/Engine/PluginsManager.cpp Mon Sep 21 14:05:06 2015 +0200 @@ -33,6 +33,11 @@ #include "../../OrthancServer/PrecompiledHeadersServer.h" #include "PluginsManager.h" +#if ORTHANC_PLUGINS_ENABLED != 1 +#error The plugin support is disabled +#endif + + #include "../../Core/Toolbox.h" #include "../../Core/HttpServer/HttpOutput.h" #include "../../Core/Logging.h" diff -r 0d074f5f6069 -r eb8fbcf008b5 Plugins/Engine/PluginsManager.h --- a/Plugins/Engine/PluginsManager.h Mon Sep 21 13:33:50 2015 +0200 +++ b/Plugins/Engine/PluginsManager.h Mon Sep 21 14:05:06 2015 +0200 @@ -32,6 +32,8 @@ #pragma once +#if ORTHANC_PLUGINS_ENABLED == 1 + #include "SharedLibrary.h" #include "IPluginServiceProvider.h" @@ -112,3 +114,5 @@ const std::string& GetPluginVersion(const std::string& name) const; }; } + +#endif diff -r 0d074f5f6069 -r eb8fbcf008b5 Plugins/Engine/SharedLibrary.cpp --- a/Plugins/Engine/SharedLibrary.cpp Mon Sep 21 13:33:50 2015 +0200 +++ b/Plugins/Engine/SharedLibrary.cpp Mon Sep 21 14:05:06 2015 +0200 @@ -33,6 +33,11 @@ #include "../../OrthancServer/PrecompiledHeadersServer.h" #include "SharedLibrary.h" +#if ORTHANC_PLUGINS_ENABLED != 1 +#error The plugin support is disabled +#endif + + #include "../../Core/Logging.h" #include "../../Core/Toolbox.h" diff -r 0d074f5f6069 -r eb8fbcf008b5 Plugins/Engine/SharedLibrary.h --- a/Plugins/Engine/SharedLibrary.h Mon Sep 21 13:33:50 2015 +0200 +++ b/Plugins/Engine/SharedLibrary.h Mon Sep 21 14:05:06 2015 +0200 @@ -32,6 +32,8 @@ #pragma once +#if ORTHANC_PLUGINS_ENABLED == 1 + #include "../../Core/OrthancException.h" #include @@ -72,3 +74,5 @@ FunctionPointer GetFunction(const std::string& name); }; } + +#endif