diff options
author | keybuk@chromium.org <keybuk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-14 20:08:06 +0000 |
---|---|---|
committer | keybuk@chromium.org <keybuk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-14 20:08:06 +0000 |
commit | bc1b18ecfc890dde4aae0a5a5db27dde2796b25e (patch) | |
tree | 8e37e62d98047d218bf8fdeff2f10361fbaab961 /dbus/exported_object.h | |
parent | ce1402accb9a01358fc1235f1319d934cd611248 (diff) | |
download | chromium_src-bc1b18ecfc890dde4aae0a5a5db27dde2796b25e.zip chromium_src-bc1b18ecfc890dde4aae0a5a5db27dde2796b25e.tar.gz chromium_src-bc1b18ecfc890dde4aae0a5a5db27dde2796b25e.tar.bz2 |
dbus: add ObjectPath type
Rather than use std::string for object paths, add a dbus::ObjectPath type
that wraps one while allowing more type-safety. This solves all sorts of
issues with confusing object paths for strings, and allows us to do
Properties code using templates disambiguating them from strings.
BUG=chromium:109194
TEST=built and run tests
Change-Id: Icaf6f19daea4af23a9d2ec0ed76d2cbd379d680e
Review URL: http://codereview.chromium.org/9378039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121920 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'dbus/exported_object.h')
-rw-r--r-- | dbus/exported_object.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/dbus/exported_object.h b/dbus/exported_object.h index 7ac2f88..24db66e 100644 --- a/dbus/exported_object.h +++ b/dbus/exported_object.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -17,6 +17,7 @@ #include "base/synchronization/waitable_event.h" #include "base/threading/platform_thread.h" #include "base/time.h" +#include "dbus/object_path.h" namespace dbus { @@ -36,7 +37,7 @@ class ExportedObject : public base::RefCountedThreadSafe<ExportedObject> { // constructor. ExportedObject(Bus* bus, const std::string& service_name, - const std::string& object_path); + const ObjectPath& object_path); // Called to send a response from an exported method. Response* is the // response message. Callers should pass a NULL Response* in the event @@ -157,7 +158,7 @@ class ExportedObject : public base::RefCountedThreadSafe<ExportedObject> { scoped_refptr<Bus> bus_; std::string service_name_; - std::string object_path_; + ObjectPath object_path_; bool object_is_registered_; // The method table where keys are absolute method names (i.e. interface |