| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chromeos/dbus/shill_third_party_vpn_driver_client.h" | 5 #include "chromeos/dbus/shill_third_party_vpn_driver_client.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
| 9 #include "chromeos/dbus/shill_third_party_vpn_observer.h" | 9 #include "chromeos/dbus/shill_third_party_vpn_observer.h" |
| 10 #include "dbus/bus.h" | 10 #include "dbus/bus.h" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 void AddShillThirdPartyVpnObserver( | 37 void AddShillThirdPartyVpnObserver( |
| 38 const std::string& object_path_value, | 38 const std::string& object_path_value, |
| 39 ShillThirdPartyVpnObserver* observer) override; | 39 ShillThirdPartyVpnObserver* observer) override; |
| 40 | 40 |
| 41 void RemoveShillThirdPartyVpnObserver( | 41 void RemoveShillThirdPartyVpnObserver( |
| 42 const std::string& object_path_value) override; | 42 const std::string& object_path_value) override; |
| 43 | 43 |
| 44 void SetParameters( | 44 void SetParameters( |
| 45 const std::string& object_path_value, | 45 const std::string& object_path_value, |
| 46 const base::DictionaryValue& parameters, | 46 const base::DictionaryValue& parameters, |
| 47 const base::Closure& callback, | 47 const ShillClientHelper::StringCallback& callback, |
| 48 const ShillClientHelper::ErrorCallback& error_callback) override; | 48 const ShillClientHelper::ErrorCallback& error_callback) override; |
| 49 | 49 |
| 50 void UpdateConnectionState( | 50 void UpdateConnectionState( |
| 51 const std::string& object_path_value, | 51 const std::string& object_path_value, |
| 52 const uint32_t connection_state, | 52 const uint32_t connection_state, |
| 53 const base::Closure& callback, | 53 const base::Closure& callback, |
| 54 const ShillClientHelper::ErrorCallback& error_callback) override; | 54 const ShillClientHelper::ErrorCallback& error_callback) override; |
| 55 | 55 |
| 56 void SendPacket( | 56 void SendPacket( |
| 57 const std::string& object_path_value, | 57 const std::string& object_path_value, |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 193 | 193 |
| 194 bus_->RemoveObjectProxy(shill::kFlimflamServiceName, object_path, | 194 bus_->RemoveObjectProxy(shill::kFlimflamServiceName, object_path, |
| 195 base::Bind(&base::DoNothing)); | 195 base::Bind(&base::DoNothing)); |
| 196 helpers_.erase(helpers_.find(object_path.value())); | 196 helpers_.erase(helpers_.find(object_path.value())); |
| 197 delete helper_info; | 197 delete helper_info; |
| 198 } | 198 } |
| 199 | 199 |
| 200 void ShillThirdPartyVpnDriverClientImpl::SetParameters( | 200 void ShillThirdPartyVpnDriverClientImpl::SetParameters( |
| 201 const std::string& object_path_value, | 201 const std::string& object_path_value, |
| 202 const base::DictionaryValue& parameters, | 202 const base::DictionaryValue& parameters, |
| 203 const base::Closure& callback, | 203 const ShillClientHelper::StringCallback& callback, |
| 204 const ShillClientHelper::ErrorCallback& error_callback) { | 204 const ShillClientHelper::ErrorCallback& error_callback) { |
| 205 dbus::MethodCall method_call(shill::kFlimflamThirdPartyVpnInterface, | 205 dbus::MethodCall method_call(shill::kFlimflamThirdPartyVpnInterface, |
| 206 shill::kSetParametersFunction); | 206 shill::kSetParametersFunction); |
| 207 dbus::MessageWriter writer(&method_call); | 207 dbus::MessageWriter writer(&method_call); |
| 208 dbus::MessageWriter array_writer(nullptr); | 208 dbus::MessageWriter array_writer(nullptr); |
| 209 writer.OpenArray("{ss}", &array_writer); | 209 writer.OpenArray("{ss}", &array_writer); |
| 210 for (base::DictionaryValue::Iterator it(parameters); !it.IsAtEnd(); | 210 for (base::DictionaryValue::Iterator it(parameters); !it.IsAtEnd(); |
| 211 it.Advance()) { | 211 it.Advance()) { |
| 212 if (valid_keys_.find(it.key()) == valid_keys_.end()) { | 212 if (valid_keys_.find(it.key()) == valid_keys_.end()) { |
| 213 LOG(WARNING) << "Unknown key " << it.key(); | 213 LOG(WARNING) << "Unknown key " << it.key(); |
| 214 continue; | 214 continue; |
| 215 } | 215 } |
| 216 std::string value; | 216 std::string value; |
| 217 if (!it.value().GetAsString(&value)) { | 217 if (!it.value().GetAsString(&value)) { |
| 218 LOG(WARNING) << "Non string value " << it.value(); | 218 LOG(WARNING) << "Non string value " << it.value(); |
| 219 continue; | 219 continue; |
| 220 } | 220 } |
| 221 dbus::MessageWriter entry_writer(nullptr); | 221 dbus::MessageWriter entry_writer(nullptr); |
| 222 array_writer.OpenDictEntry(&entry_writer); | 222 array_writer.OpenDictEntry(&entry_writer); |
| 223 entry_writer.AppendString(it.key()); | 223 entry_writer.AppendString(it.key()); |
| 224 entry_writer.AppendString(value); | 224 entry_writer.AppendString(value); |
| 225 array_writer.CloseContainer(&entry_writer); | 225 array_writer.CloseContainer(&entry_writer); |
| 226 } | 226 } |
| 227 writer.CloseContainer(&array_writer); | 227 writer.CloseContainer(&array_writer); |
| 228 GetHelper(object_path_value) | 228 GetHelper(object_path_value) |
| 229 ->CallVoidMethodWithErrorCallback(&method_call, callback, error_callback); | 229 ->CallStringMethodWithErrorCallback(&method_call, callback, |
| 230 error_callback); |
| 230 } | 231 } |
| 231 | 232 |
| 232 void ShillThirdPartyVpnDriverClientImpl::UpdateConnectionState( | 233 void ShillThirdPartyVpnDriverClientImpl::UpdateConnectionState( |
| 233 const std::string& object_path_value, | 234 const std::string& object_path_value, |
| 234 const uint32_t connection_state, | 235 const uint32_t connection_state, |
| 235 const base::Closure& callback, | 236 const base::Closure& callback, |
| 236 const ShillClientHelper::ErrorCallback& error_callback) { | 237 const ShillClientHelper::ErrorCallback& error_callback) { |
| 237 dbus::MethodCall method_call(shill::kFlimflamThirdPartyVpnInterface, | 238 dbus::MethodCall method_call(shill::kFlimflamThirdPartyVpnInterface, |
| 238 shill::kUpdateConnectionStateFunction); | 239 shill::kUpdateConnectionStateFunction); |
| 239 dbus::MessageWriter writer(&method_call); | 240 dbus::MessageWriter writer(&method_call); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 | 333 |
| 333 ShillThirdPartyVpnDriverClient::~ShillThirdPartyVpnDriverClient() { | 334 ShillThirdPartyVpnDriverClient::~ShillThirdPartyVpnDriverClient() { |
| 334 } | 335 } |
| 335 | 336 |
| 336 // static | 337 // static |
| 337 ShillThirdPartyVpnDriverClient* ShillThirdPartyVpnDriverClient::Create() { | 338 ShillThirdPartyVpnDriverClient* ShillThirdPartyVpnDriverClient::Create() { |
| 338 return new ShillThirdPartyVpnDriverClientImpl(); | 339 return new ShillThirdPartyVpnDriverClientImpl(); |
| 339 } | 340 } |
| 340 | 341 |
| 341 } // namespace chromeos | 342 } // namespace chromeos |
| OLD | NEW |