| Index: dbus/bus.cc
|
| diff --git a/dbus/bus.cc b/dbus/bus.cc
|
| index d0662171f2460cf0aa2bf3f51596239ae47a7b3c..4a7e92bc156e8acfdba1f15fdaa41c99dbf6a01e 100644
|
| --- a/dbus/bus.cc
|
| +++ b/dbus/bus.cc
|
| @@ -208,17 +208,24 @@ Bus::~Bus() {
|
|
|
| ObjectProxy* Bus::GetObjectProxy(const std::string& service_name,
|
| const std::string& object_path) {
|
| + return GetObjectProxyWithOptions(service_name, object_path,
|
| + ObjectProxy::DEFAULT_OPTIONS);
|
| +}
|
| +
|
| +ObjectProxy* Bus::GetObjectProxyWithOptions(const std::string& service_name,
|
| + const std::string& object_path,
|
| + int options) {
|
| AssertOnOriginThread();
|
|
|
| // Check if we already have the requested object proxy.
|
| - const std::string key = service_name + object_path;
|
| + const ObjectProxyTable::key_type key(service_name + object_path, options);
|
| ObjectProxyTable::iterator iter = object_proxy_table_.find(key);
|
| if (iter != object_proxy_table_.end()) {
|
| return iter->second;
|
| }
|
|
|
| scoped_refptr<ObjectProxy> object_proxy =
|
| - new ObjectProxy(this, service_name, object_path);
|
| + new ObjectProxy(this, service_name, object_path, options);
|
| object_proxy_table_[key] = object_proxy;
|
|
|
| return object_proxy.get();
|
|
|