Mercurial > hg > orthanc
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 |