comparison 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
comparison
equal deleted inserted replaced
2941:e292798f9980 2944:f395460af74d
49 class ServerIndex; 49 class ServerIndex;
50 50
51 class OrthancConfiguration : public boost::noncopyable 51 class OrthancConfiguration : public boost::noncopyable
52 { 52 {
53 private: 53 private:
54 typedef std::map<std::string, RemoteModalityParameters> Modalities;
55 typedef std::map<std::string, WebServiceParameters> Peers;
56
54 boost::shared_mutex mutex_; 57 boost::shared_mutex mutex_;
55 Json::Value json_; 58 Json::Value json_;
56 boost::filesystem::path defaultDirectory_; 59 boost::filesystem::path defaultDirectory_;
57 std::string configurationAbsolutePath_; 60 std::string configurationAbsolutePath_;
58 FontRegistry fontRegistry_; 61 FontRegistry fontRegistry_;
59 const char* configurationFileArg_; 62 const char* configurationFileArg_;
63 Modalities modalities_;
64 Peers peers_;
60 ServerIndex* serverIndex_; 65 ServerIndex* serverIndex_;
61 66
62 OrthancConfiguration() : 67 OrthancConfiguration() :
63 configurationFileArg_(NULL) 68 configurationFileArg_(NULL)
64 { 69 {
65 } 70 }
66 71
67 void ValidateConfiguration() const; 72 void LoadModalitiesFromJson(const Json::Value& source);
68 73
74 void SaveModalitiesToJson(Json::Value& target);
75
76 void LoadPeersFromJson(const Json::Value& source);
77
78 void SavePeersToJson(Json::Value& target);
79
80 void LoadModalitiesAndPeers();
81
82 void SaveModalities();
83
84 void SavePeers();
85
69 static OrthancConfiguration& GetInstance(); 86 static OrthancConfiguration& GetInstance();
70 87
71 public: 88 public:
72 class ReaderLock : public boost::noncopyable 89 class ReaderLock : public boost::noncopyable
73 { 90 {
154 bool defaultValue) const; 171 bool defaultValue) const;
155 172
156 void GetDicomModalityUsingSymbolicName(RemoteModalityParameters& modality, 173 void GetDicomModalityUsingSymbolicName(RemoteModalityParameters& modality,
157 const std::string& name) const; 174 const std::string& name) const;
158 175
159 bool GetOrthancPeer(WebServiceParameters& peer, 176 bool LookupOrthancPeer(WebServiceParameters& peer,
160 const std::string& name) const; 177 const std::string& name) const;
161
162 bool ReadKeys(std::set<std::string>& target,
163 const char* parameter,
164 bool onlyAlphanumeric) const;
165 178
166 void GetListOfDicomModalities(std::set<std::string>& target) const; 179 void GetListOfDicomModalities(std::set<std::string>& target) const;
167 180
168 void GetListOfOrthancPeers(std::set<std::string>& target) const; 181 void GetListOfOrthancPeers(std::set<std::string>& target) const;
169 182