Mercurial > hg > orthanc-transfers
comparison Framework/HttpQueries/DetectTransferPlugin.cpp @ 5:5e6de82bb10f
use of user properties instead of BidirectionalPeers option
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 18 Sep 2018 15:39:02 +0200 |
parents | 1ed03945c057 |
children | 4c3437217518 |
comparison
equal
deleted
inserted
replaced
4:1ed03945c057 | 5:5e6de82bb10f |
---|---|
27 #include <json/reader.h> | 27 #include <json/reader.h> |
28 | 28 |
29 | 29 |
30 namespace OrthancPlugins | 30 namespace OrthancPlugins |
31 { | 31 { |
32 DetectTransferPlugin::DetectTransferPlugin(Peers& target, | 32 DetectTransferPlugin::DetectTransferPlugin(Result& result, |
33 const std::string& peer) : | 33 const std::string& peer) : |
34 target_(target), | 34 result_(result), |
35 peer_(peer), | 35 peer_(peer), |
36 uri_(URI_PLUGINS) | 36 uri_(URI_PLUGINS) |
37 { | 37 { |
38 target_[peer_] = PeerCapabilities_Disabled; | 38 result_[peer_] = false; |
39 } | 39 } |
40 | 40 |
41 | 41 |
42 void DetectTransferPlugin::ReadBody(std::string& body) const | 42 void DetectTransferPlugin::ReadBody(std::string& body) const |
43 { | 43 { |
58 for (Json::Value::ArrayIndex i = 0; i < value.size(); i++) | 58 for (Json::Value::ArrayIndex i = 0; i < value.size(); i++) |
59 { | 59 { |
60 if (value[i].type() == Json::stringValue && | 60 if (value[i].type() == Json::stringValue && |
61 value[i].asString() == PLUGIN_NAME) | 61 value[i].asString() == PLUGIN_NAME) |
62 { | 62 { |
63 // The "Bidirectional" status is set in "Plugin.cpp", given | 63 result_[peer_] = true; |
64 // the configuration file | |
65 target_[peer_] = PeerCapabilities_Installed; | |
66 } | 64 } |
67 } | 65 } |
68 } | 66 } |
69 } | 67 } |
70 | 68 |
71 | 69 |
72 void DetectTransferPlugin::Apply(Peers& peers, | 70 void DetectTransferPlugin::Apply(Result& result, |
73 OrthancPluginContext* context, | 71 OrthancPluginContext* context, |
74 size_t threadsCount, | 72 size_t threadsCount, |
75 unsigned int timeout) | 73 unsigned int timeout) |
76 { | 74 { |
77 OrthancPlugins::HttpQueriesQueue queue(context); | 75 OrthancPlugins::HttpQueriesQueue queue(context); |
80 queue.Reserve(queue.GetOrthancPeers().GetPeersCount()); | 78 queue.Reserve(queue.GetOrthancPeers().GetPeersCount()); |
81 | 79 |
82 for (size_t i = 0; i < queue.GetOrthancPeers().GetPeersCount(); i++) | 80 for (size_t i = 0; i < queue.GetOrthancPeers().GetPeersCount(); i++) |
83 { | 81 { |
84 queue.Enqueue(new OrthancPlugins::DetectTransferPlugin | 82 queue.Enqueue(new OrthancPlugins::DetectTransferPlugin |
85 (peers, queue.GetOrthancPeers().GetPeerName(i))); | 83 (result, queue.GetOrthancPeers().GetPeerName(i))); |
86 } | 84 } |
87 | 85 |
88 { | 86 { |
89 OrthancPlugins::HttpQueriesRunner runner(queue, threadsCount); | 87 OrthancPlugins::HttpQueriesRunner runner(queue, threadsCount); |
90 queue.WaitComplete(); | 88 queue.WaitComplete(); |