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

Unified Diff: chromeos/dbus/experimental_bluetooth_input_client.h

Issue 14048007: Bluetooth: D-Bus client interface for org.bluez.Input1 (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: interface deletion order fixed. Created 7 years, 8 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/dbus_thread_manager.cc ('k') | chromeos/dbus/experimental_bluetooth_input_client.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/dbus/experimental_bluetooth_input_client.h
diff --git a/chromeos/dbus/experimental_bluetooth_input_client.h b/chromeos/dbus/experimental_bluetooth_input_client.h
new file mode 100644
index 0000000000000000000000000000000000000000..09a6a6b75212898842c93b383cc93bd0a0474067
--- /dev/null
+++ b/chromeos/dbus/experimental_bluetooth_input_client.h
@@ -0,0 +1,87 @@
+// Copyright (c) 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_EXPERIMENTAL_BLUETOOTH_INPUT_CLIENT_H_
+#define CHROMEOS_DBUS_EXPERIMENTAL_BLUETOOTH_INPUT_CLIENT_H_
+
+#include <string>
+#include <vector>
+
+#include "base/callback.h"
+#include "base/observer_list.h"
+#include "chromeos/chromeos_export.h"
+#include "chromeos/dbus/dbus_client_implementation_type.h"
+#include "dbus/object_path.h"
+#include "dbus/property.h"
+
+namespace dbus {
+class Bus;
+} // namespace dbus
+
+namespace chromeos {
+
+// ExperimentalBluetoothInputClient is used to communicate with Bluetooth
+// Input objects.
+class CHROMEOS_EXPORT ExperimentalBluetoothInputClient {
+ public:
+ // Structure of properties associated with bluetooth input devices.
+ struct Properties : public dbus::PropertySet {
+ // The Bluetooth input device reconnect mode. Read-only.
+ dbus::Property<std::string> reconnect_mode;
+
+ Properties(dbus::ObjectProxy* object_proxy,
+ const std::string& interface_name,
+ const PropertyChangedCallback& callback);
+ virtual ~Properties();
+ };
+
+ // Interface for observing changes from a remote bluetooth input device.
+ class Observer {
+ public:
+ virtual ~Observer() {}
+
+ // Called when the remote device with object path |object_path| implementing
+ // the Input interface is added to the set of known devices or an already
+ // known device implements the Input interface.
+ virtual void InputAdded(const dbus::ObjectPath& object_path) {}
+
+ // Called when the remote device with object path |object_path| is removed
+ // from the set of known devices or does not implement the Input interface
+ // anymore.
+ virtual void InputRemoved(const dbus::ObjectPath& object_path) {}
+
+ // Called when the device with object path |object_path| has a
+ // change in value of the property named |property_name| of its Input
+ // interface.
+ virtual void InputPropertyChanged(const dbus::ObjectPath& object_path,
+ const std::string& property_name) {}
+ };
+
+ virtual ~ExperimentalBluetoothInputClient();
+
+ // Adds and removes observers for events on all remote bluetooth input
+ // devices. Check the |object_path| parameter of observer methods to
+ // determine which device is issuing the event.
+ virtual void AddObserver(Observer* observer) = 0;
+ virtual void RemoveObserver(Observer* observer) = 0;
+
+ // Obtain the properties for the device with object path |object_path|,
+ // any values should be copied if needed.
+ virtual Properties* GetProperties(const dbus::ObjectPath& object_path) = 0;
+
+ // Creates the instance.
+ static ExperimentalBluetoothInputClient* Create(
+ DBusClientImplementationType type,
+ dbus::Bus* bus);
+
+ protected:
+ ExperimentalBluetoothInputClient();
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ExperimentalBluetoothInputClient);
+};
+
+} // namespace chromeos
+
+#endif // CHROMEOS_DBUS_EXPERIMENTAL_BLUETOOTH_INPUT_CLIENT_H_
« no previous file with comments | « chromeos/dbus/dbus_thread_manager.cc ('k') | chromeos/dbus/experimental_bluetooth_input_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698