Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: chromeos/dbus/shill_ipconfig_client_stub.cc

Issue 12634019: NetworkChangeNotifierChromeos: Handle IPConfig property changes on the default network (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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_ipconfig_client_stub.h" 5 #include "chromeos/dbus/shill_ipconfig_client_stub.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 25 matching lines...) Expand all
36 36
37 void ShillIPConfigClientStub::Refresh(const dbus::ObjectPath& ipconfig_path, 37 void ShillIPConfigClientStub::Refresh(const dbus::ObjectPath& ipconfig_path,
38 const VoidDBusMethodCallback& callback) { 38 const VoidDBusMethodCallback& callback) {
39 } 39 }
40 40
41 void ShillIPConfigClientStub::GetProperties( 41 void ShillIPConfigClientStub::GetProperties(
42 const dbus::ObjectPath& ipconfig_path, 42 const dbus::ObjectPath& ipconfig_path,
43 const DictionaryValueCallback& callback) { 43 const DictionaryValueCallback& callback) {
44 if (callback.is_null()) 44 if (callback.is_null())
45 return; 45 return;
46 const base::DictionaryValue* dict = NULL;
47 if (!ipconfigs_.GetDictionaryWithoutPathExpansion(ipconfig_path.value(),
48 &dict))
stevenjb 2013/03/28 20:30:58 nit: align
gauravsh 2013/03/29 00:02:11 Done.
49 return;
46 MessageLoop::current()->PostTask( 50 MessageLoop::current()->PostTask(
47 FROM_HERE, base::Bind(&ShillIPConfigClientStub::PassProperties, 51 FROM_HERE, base::Bind(&ShillIPConfigClientStub::PassProperties,
48 weak_ptr_factory_.GetWeakPtr(), 52 weak_ptr_factory_.GetWeakPtr(),
49 callback)); 53 dict,
54 callback));
50 } 55 }
51 56
52 base::DictionaryValue* ShillIPConfigClientStub::CallGetPropertiesAndBlock( 57 base::DictionaryValue* ShillIPConfigClientStub::CallGetPropertiesAndBlock(
53 const dbus::ObjectPath& ipconfig_path) { 58 const dbus::ObjectPath& ipconfig_path) {
54 return new base::DictionaryValue; 59 return new base::DictionaryValue;
55 } 60 }
56 61
57 void ShillIPConfigClientStub::SetProperty( 62 void ShillIPConfigClientStub::SetProperty(
58 const dbus::ObjectPath& ipconfig_path, 63 const dbus::ObjectPath& ipconfig_path,
59 const std::string& name, 64 const std::string& name,
60 const base::Value& value, 65 const base::Value& value,
61 const VoidDBusMethodCallback& callback) { 66 const VoidDBusMethodCallback& callback) {
62 if (callback.is_null()) 67 if (callback.is_null())
63 return; 68 return;
69 base::DictionaryValue* dict = NULL;
70 if (ipconfigs_.GetDictionaryWithoutPathExpansion(ipconfig_path.value(),
71 &dict)) {
72 // Update existing ip config stub object's properties.
73 dict->SetWithoutPathExpansion(name, value.DeepCopy());
74 } else {
75 // Create a new stub ipconfig object, and update its properties.
76 DictionaryValue* dvalue = new DictionaryValue;
77 dvalue->SetWithoutPathExpansion(name, value.DeepCopy());
78 ipconfigs_.SetWithoutPathExpansion(ipconfig_path.value(),
79 dvalue);
80 }
64 MessageLoop::current()->PostTask( 81 MessageLoop::current()->PostTask(
65 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS)); 82 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS));
66 } 83 }
67 84
68 void ShillIPConfigClientStub::ClearProperty( 85 void ShillIPConfigClientStub::ClearProperty(
69 const dbus::ObjectPath& ipconfig_path, 86 const dbus::ObjectPath& ipconfig_path,
70 const std::string& name, 87 const std::string& name,
71 const VoidDBusMethodCallback& callback) { 88 const VoidDBusMethodCallback& callback) {
72 if (callback.is_null()) 89 if (callback.is_null())
73 return; 90 return;
74 MessageLoop::current()->PostTask( 91 MessageLoop::current()->PostTask(
75 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS)); 92 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS));
76 } 93 }
77 94
78 void ShillIPConfigClientStub::Remove(const dbus::ObjectPath& ipconfig_path, 95 void ShillIPConfigClientStub::Remove(const dbus::ObjectPath& ipconfig_path,
79 const VoidDBusMethodCallback& callback) { 96 const VoidDBusMethodCallback& callback) {
80 if (callback.is_null()) 97 if (callback.is_null())
81 return; 98 return;
82 MessageLoop::current()->PostTask( 99 MessageLoop::current()->PostTask(
83 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS)); 100 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS));
84 } 101 }
85 102
86 void ShillIPConfigClientStub::PassProperties( 103 void ShillIPConfigClientStub::PassProperties(
104 const base::DictionaryValue* values,
87 const DictionaryValueCallback& callback) const { 105 const DictionaryValueCallback& callback) const {
88 callback.Run(DBUS_METHOD_CALL_SUCCESS, properties_); 106 callback.Run(DBUS_METHOD_CALL_SUCCESS, *values);
89 } 107 }
90 108
91 } // namespace chromeos 109 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698