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

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

Issue 1454773002: Play better with C++11 library features from /chromeos (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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
« no previous file with comments | « chromeos/dbus/gsm_sms_client.cc ('k') | chromeos/dbus/shill_ipconfig_client.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chromeos/dbus/modem_messaging_client.h" 4 #include "chromeos/dbus/modem_messaging_client.h"
5 5
6 #include <map>
6 #include <utility> 7 #include <utility>
7 8
8 #include "base/bind.h" 9 #include "base/bind.h"
9 #include "base/containers/scoped_ptr_map.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/memory/weak_ptr.h" 11 #include "base/memory/weak_ptr.h"
12 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
13 #include "base/values.h" 13 #include "base/values.h"
14 #include "dbus/bus.h" 14 #include "dbus/bus.h"
15 #include "dbus/message.h" 15 #include "dbus/message.h"
16 #include "dbus/object_proxy.h" 16 #include "dbus/object_proxy.h"
17 #include "third_party/cros_system_api/dbus/service_constants.h" 17 #include "third_party/cros_system_api/dbus/service_constants.h"
18 18
19 namespace chromeos { 19 namespace chromeos {
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 void List(const std::string& service_name, 156 void List(const std::string& service_name,
157 const dbus::ObjectPath& object_path, 157 const dbus::ObjectPath& object_path,
158 const ListCallback& callback) override { 158 const ListCallback& callback) override {
159 GetProxy(service_name, object_path)->List(callback); 159 GetProxy(service_name, object_path)->List(callback);
160 } 160 }
161 161
162 protected: 162 protected:
163 void Init(dbus::Bus* bus) override { bus_ = bus; }; 163 void Init(dbus::Bus* bus) override { bus_ = bus; };
164 164
165 private: 165 private:
166 typedef base::ScopedPtrMap<std::pair<std::string, std::string>, 166 using ProxyMap = std::map<std::pair<std::string, std::string>,
167 scoped_ptr<ModemMessagingProxy>> ProxyMap; 167 scoped_ptr<ModemMessagingProxy>>;
168 168
169 // Returns a SMSProxy for the given service name and object path. 169 // Returns a SMSProxy for the given service name and object path.
170 ModemMessagingProxy* GetProxy(const std::string& service_name, 170 ModemMessagingProxy* GetProxy(const std::string& service_name,
171 const dbus::ObjectPath& object_path) { 171 const dbus::ObjectPath& object_path) {
172 const ProxyMap::key_type key(service_name, object_path.value()); 172 const ProxyMap::key_type key(service_name, object_path.value());
173 ProxyMap::const_iterator it = proxies_.find(key); 173 ProxyMap::const_iterator it = proxies_.find(key);
174 if (it != proxies_.end()) 174 if (it != proxies_.end())
175 return it->second; 175 return it->second.get();
176 176
177 // There is no proxy for the service_name and object_path, create it. 177 // There is no proxy for the service_name and object_path, create it.
178 scoped_ptr<ModemMessagingProxy> proxy( 178 scoped_ptr<ModemMessagingProxy> proxy(
179 new ModemMessagingProxy(bus_, service_name, object_path)); 179 new ModemMessagingProxy(bus_, service_name, object_path));
180 ModemMessagingProxy* proxy_ptr = proxy.get(); 180 ModemMessagingProxy* proxy_ptr = proxy.get();
181 proxies_.insert(key, proxy.Pass()); 181 proxies_[key] = std::move(proxy);
182 return proxy_ptr; 182 return proxy_ptr;
183 } 183 }
184 184
185 dbus::Bus* bus_; 185 dbus::Bus* bus_;
186 ProxyMap proxies_; 186 ProxyMap proxies_;
187 187
188 DISALLOW_COPY_AND_ASSIGN(ModemMessagingClientImpl); 188 DISALLOW_COPY_AND_ASSIGN(ModemMessagingClientImpl);
189 }; 189 };
190 190
191 } // namespace 191 } // namespace
192 192
193 //////////////////////////////////////////////////////////////////////////////// 193 ////////////////////////////////////////////////////////////////////////////////
194 // ModemMessagingClient 194 // ModemMessagingClient
195 195
196 ModemMessagingClient::ModemMessagingClient() {} 196 ModemMessagingClient::ModemMessagingClient() {}
197 197
198 ModemMessagingClient::~ModemMessagingClient() {} 198 ModemMessagingClient::~ModemMessagingClient() {}
199 199
200 200
201 // static 201 // static
202 ModemMessagingClient* ModemMessagingClient::Create() { 202 ModemMessagingClient* ModemMessagingClient::Create() {
203 return new ModemMessagingClientImpl(); 203 return new ModemMessagingClientImpl();
204 } 204 }
205 205
206 206
207 } // namespace chromeos 207 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/gsm_sms_client.cc ('k') | chromeos/dbus/shill_ipconfig_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698