Mercurial > hg > orthanc
diff OrthancServer/OrthancConfiguration.h @ 2944:f395460af74d
simplifying OrthancConfiguration for modalities/peers
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 29 Nov 2018 16:31:20 +0100 |
parents | e292798f9980 |
children | 2e751f615e03 |
line wrap: on
line diff
--- a/OrthancServer/OrthancConfiguration.h Thu Nov 29 15:16:32 2018 +0100 +++ b/OrthancServer/OrthancConfiguration.h Thu Nov 29 16:31:20 2018 +0100 @@ -51,12 +51,17 @@ class OrthancConfiguration : public boost::noncopyable { private: + typedef std::map<std::string, RemoteModalityParameters> Modalities; + typedef std::map<std::string, WebServiceParameters> Peers; + boost::shared_mutex mutex_; Json::Value json_; boost::filesystem::path defaultDirectory_; std::string configurationAbsolutePath_; FontRegistry fontRegistry_; const char* configurationFileArg_; + Modalities modalities_; + Peers peers_; ServerIndex* serverIndex_; OrthancConfiguration() : @@ -64,8 +69,20 @@ { } - void ValidateConfiguration() const; + void LoadModalitiesFromJson(const Json::Value& source); + + void SaveModalitiesToJson(Json::Value& target); + + void LoadPeersFromJson(const Json::Value& source); + void SavePeersToJson(Json::Value& target); + + void LoadModalitiesAndPeers(); + + void SaveModalities(); + + void SavePeers(); + static OrthancConfiguration& GetInstance(); public: @@ -156,12 +173,8 @@ void GetDicomModalityUsingSymbolicName(RemoteModalityParameters& modality, const std::string& name) const; - bool GetOrthancPeer(WebServiceParameters& peer, - const std::string& name) const; - - bool ReadKeys(std::set<std::string>& target, - const char* parameter, - bool onlyAlphanumeric) const; + bool LookupOrthancPeer(WebServiceParameters& peer, + const std::string& name) const; void GetListOfDicomModalities(std::set<std::string>& target) const;