From 216ed0bef820f496f853510c6fb274a817257ea6 Mon Sep 17 00:00:00 2001 From: "keybuk@google.com" Date: Tue, 14 Feb 2012 21:29:06 +0000 Subject: 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 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=121920 Review URL: https://chromiumcodereview.appspot.com/9378039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121941 0039d316-1c4b-4281-b951-d872f2087c98 --- dbus/exported_object.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'dbus/exported_object.h') 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 { // 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 { scoped_refptr 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 -- cgit v1.1