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();