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

Unified Diff: chromeos/dbus/nfc_client_helpers.h

Issue 2292703002: chromeos: Remove unused NFC D-Bus client library (Closed)
Patch Set: rebase Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromeos/dbus/nfc_adapter_client.cc ('k') | chromeos/dbus/nfc_client_helpers.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/dbus/nfc_client_helpers.h
diff --git a/chromeos/dbus/nfc_client_helpers.h b/chromeos/dbus/nfc_client_helpers.h
deleted file mode 100644
index d6b50e880487958f250e41a2e8f44db54fb7976a..0000000000000000000000000000000000000000
--- a/chromeos/dbus/nfc_client_helpers.h
+++ /dev/null
@@ -1,206 +0,0 @@
-// Copyright 2013 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.
-
-#ifndef CHROMEOS_DBUS_NFC_CLIENT_HELPERS_H_
-#define CHROMEOS_DBUS_NFC_CLIENT_HELPERS_H_
-
-#include <map>
-#include <string>
-#include <utility>
-
-#include "base/callback.h"
-#include "base/macros.h"
-#include "base/values.h"
-#include "chromeos/chromeos_export.h"
-#include "chromeos/dbus/nfc_property_set.h"
-#include "dbus/bus.h"
-#include "dbus/message.h"
-#include "dbus/object_path.h"
-#include "dbus/object_proxy.h"
-
-namespace chromeos {
-namespace nfc_client_helpers {
-
-// Constants used to indicate exceptional error conditions.
-CHROMEOS_EXPORT extern const char kNoResponseError[];
-CHROMEOS_EXPORT extern const char kUnknownObjectError[];
-
-// The ErrorCallback is used by D-Bus methods to indicate failure.
-// It receives two arguments: the name of the error in |error_name| and
-// an optional message in |error_message|.
-typedef base::Callback<void(const std::string& error_name,
- const std::string& error_message)> ErrorCallback;
-
-// A vector of object paths is used frequently among the NFC client classes.
-// This typedef makes the type specifier a little less verbose.
-typedef std::vector<dbus::ObjectPath> ObjectPathVector;
-
-// Called when a response for a successful method call is received.
-CHROMEOS_EXPORT void OnSuccess(const base::Closure& callback,
- dbus::Response* response);
-
-// Extracts the error data from |response| and invokes |error_callback| with
-// the resulting error name and error message.
-CHROMEOS_EXPORT void OnError(const ErrorCallback& error_callback,
- dbus::ErrorResponse* response);
-
-// DBusObjectMap is a simple data structure that facilitates keeping track of
-// D-Bus object proxies and properties. It maintains a mapping from object
-// paths to object proxy - property structure pairs.
-// TODO(armansito): This is only needed until neard implements the D-Bus
-// org.freedesktop.DBus.ObjectManager interface. Remove this once we upgrade
-// to neard-0.14.
-class CHROMEOS_EXPORT DBusObjectMap {
- public:
- // DBusObjectMap::Delegate must be implemented by classes that use an
- // instance of DBusObjectMap to manage object proxies.
- class Delegate {
- public:
- virtual ~Delegate() {}
-
- // Called by DBusObjectMap to create a Properties structure for the remote
- // D-Bus object accessible through |object_proxy|. The implementation class
- // should create and return an instance of its own subclass of
- // ::chromeos::NfcPropertySet. DBusObjectMap will handle connecting the
- // signals and update the properties.
- virtual NfcPropertySet* CreateProperties(
- dbus::ObjectProxy* object_proxy) = 0;
-
- // Notifies the delegate that an object was added with object path
- // |object_path|.
- virtual void ObjectAdded(const dbus::ObjectPath& object_path) {}
-
- // Notifies the delegate that an object was removed with object path
- // |object_path|. The object proxy will still be valid before this method
- // returns, so that delegates can perform any clean up that use the object
- // properties. Note that the remote object will no longer be available,
- // but the delegates can still access the cached properties of the object.
- virtual void ObjectRemoved(const dbus::ObjectPath& object_path) {}
- };
-
- // Constructor takes in the D-Bus service name the proxies belong to and
- // the delegate which will be used to construct properties structures.
- // |service_name| must be a valid D-Bus service name, and |delegate| cannot
- // be NULL.
- DBusObjectMap(const std::string& service_name,
- Delegate* delegate,
- dbus::Bus* bus);
-
- // Destructor destroys all managed object proxies and notifies the delegate
- // for each removed object.
- virtual ~DBusObjectMap();
-
- // Returns the object proxy for object path |object_path|. If no object proxy
- // exists for |object_path|, returns NULL.
- dbus::ObjectProxy* GetObjectProxy(const dbus::ObjectPath& object_path);
-
- // Returns the properties structure for remote object with object path
- // |object_path|. If no properties structure exists for |object_path|,
- // returns NULL.
- NfcPropertySet* GetObjectProperties(const dbus::ObjectPath& object_path);
-
- // Updates the object proxies from the given list of object paths
- // |object_paths|. It notifies the delegate of each added and removed object
- // via |Delegate::ObjectAdded| and |Delegate::ObjectRemoved|.
- void UpdateObjects(const ObjectPathVector& object_paths);
-
- // Creates and stores an object proxy and properties structure for a remote
- // object with object path |object_path|. If an object proxy was already
- // created, this operation returns false; returns true otherwise.
- bool AddObject(const dbus::ObjectPath& object_path);
-
- // Removes the D-Bus object proxy and the properties structure for the
- // remote object with object path |object_path|. If no known proxy for
- // |object_path| exists, then this operation is a no-op.
- void RemoveObject(const dbus::ObjectPath& object_path);
-
- // Invokes GetAll on the property structure belonging to object path
- // |object_path|. If |object_path| is unknown, this method is a no-op.
- void RefreshProperties(const dbus::ObjectPath& object_path);
-
- // Invokes GetAll on the property structures belonging to all object paths
- // that are managed by this instance.
- void RefreshAllProperties();
-
- // Returns a list containing the object paths of all remote objects that are
- // managed by this instance.
- ObjectPathVector GetObjectPaths();
-
- private:
- typedef std::pair<dbus::ObjectProxy*, NfcPropertySet*> ObjectPropertyPair;
- typedef std::map<dbus::ObjectPath, ObjectPropertyPair> ObjectMap;
-
- // Returns an instance of ObjectPropertyPair by looking up |object_path| in
- // |object_map_|. If no entry is found, returns an instance that contains
- // NULL pointers.
- ObjectPropertyPair GetObjectPropertyPair(const dbus::ObjectPath& object_path);
-
- // Cleans up the object proxy and properties structure in |pair|. This method
- // will remove the object proxy by calling |dbus::Bus::RemoveObjectProxy| and
- // explicitly deallocate the properties structure. Once this method exits,
- // both pointers stored by |pair| will become invalid and should not be used.
- // If |pair| contains invalid pointers at the time when this method is called
- // memory errors are likely to happen, so only valid pointers should be
- // passed.
- void CleanUpObjectPropertyPair(const ObjectPropertyPair& pair);
-
- dbus::Bus* bus_;
- ObjectMap object_map_;
- std::string service_name_;
- Delegate* delegate_;
-
- DISALLOW_COPY_AND_ASSIGN(DBusObjectMap);
-};
-
-// Most NFC D-Bus client classes need to be able to look up object proxies by
-// the path of the object that owns them. For example, NfcTagClient updates tag
-// proxies based on the adapter that owns them. ObjectProxyTree is a two-level
-// mapping that makes this management easy.
-class ObjectProxyTree {
- public:
- ObjectProxyTree();
-
- // The destructor destroys all contained DBusObjectMap instances. This will
- // cause the delegate to get notified for each removed object proxy according
- // to the DBusObjectMap destructor.
- virtual ~ObjectProxyTree();
-
- // Creates a DBusObjectMap instance at object path |object_path|.
- // |service_name|, |delegate|, and |bus| are passed to the constructor of the
- // DBusObjectMap that is created. If a DBusObjectMap for |object_path| was
- // already assigned, returns false and does nothing. Otherwise, if a new
- // DBusObjectMap was created, returns true.
- bool CreateObjectMap(const dbus::ObjectPath& object_path,
- const std::string& service_name,
- DBusObjectMap::Delegate* delegate,
- dbus::Bus* bus);
-
- // Destroys the DBusObjectMap instance at object path |object_path|.
- void RemoveObjectMap(const dbus::ObjectPath& object_path);
-
- // Returns the DBusObjectMap instance at object path |object_path|, or NULL
- // if no such instance exists.
- DBusObjectMap* GetObjectMap(const dbus::ObjectPath& object_path);
-
- // Returns the object proxy by searching all stored DBusObjectMap instances
- // for |object_proxy_path|. Returns NULL, if nothing is found.
- dbus::ObjectProxy* FindObjectProxy(
- const dbus::ObjectPath& object_proxy_path);
-
- // Returns the object property structure by searching all stored DBusObjectMap
- // instances for |object_proxy_path|. Returns NULL, if nothing is found.
- NfcPropertySet* FindObjectProperties(
- const dbus::ObjectPath& object_proxy_path);
-
- private:
- typedef std::map<dbus::ObjectPath, DBusObjectMap*> PathsToObjectMapsType;
- PathsToObjectMapsType paths_to_object_maps_;
-
- DISALLOW_COPY_AND_ASSIGN(ObjectProxyTree);
-};
-
-} // namespace nfc_client_helpers
-} // namespace chromeos
-
-#endif // CHROMEOS_DBUS_NFC_CLIENT_HELPERS_H_
« no previous file with comments | « chromeos/dbus/nfc_adapter_client.cc ('k') | chromeos/dbus/nfc_client_helpers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698