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

Unified Diff: chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.h

Issue 256413003: chrome.bluetoothLowEnergy: Implement getService and getServices. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rpaquay@'s comments. Created 6 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 | « no previous file | chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.h
diff --git a/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.h b/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.h
index 4f302adc174aa44defd580af72a9a6d86c4c12ce..f5dda5cfa96e003a2c5c2cc97b601b360f371e0d 100644
--- a/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.h
+++ b/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.h
@@ -5,13 +5,80 @@
#ifndef CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_LOW_ENERGY_BLUETOOTH_LOW_ENERGY_API_H_
#define CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_LOW_ENERGY_BLUETOOTH_LOW_ENERGY_API_H_
+#include "base/memory/scoped_ptr.h"
+#include "extensions/browser/browser_context_keyed_api_factory.h"
#include "extensions/browser/extension_function.h"
#include "extensions/browser/extension_function_histogram_value.h"
namespace extensions {
+
+class BluetoothLowEnergyEventRouter;
+
+// The profile-keyed service that manages the bluetoothLowEnergy extension API.
+class BluetoothLowEnergyAPI : public BrowserContextKeyedAPI {
+ public:
+ static BrowserContextKeyedAPIFactory<BluetoothLowEnergyAPI>*
+ GetFactoryInstance();
+
+ // Convenience method to get the BluetoothLowEnergy API for a browser context.
+ static BluetoothLowEnergyAPI* Get(content::BrowserContext* context);
+
+ explicit BluetoothLowEnergyAPI(content::BrowserContext* context);
+ virtual ~BluetoothLowEnergyAPI();
+
+ // KeyedService implementation..
+ virtual void Shutdown() OVERRIDE;
+
+ BluetoothLowEnergyEventRouter* event_router() const {
+ return event_router_.get();
+ }
+
+ // BrowserContextKeyedAPI implementation.
+ static const char* service_name() { return "BluetoothLowEnergyAPI"; }
+ static const bool kServiceRedirectedInIncognito = true;
+ static const bool kServiceIsNULLWhileTesting = true;
+
+ private:
+ friend class BrowserContextKeyedAPIFactory<BluetoothLowEnergyAPI>;
+
+ scoped_ptr<BluetoothLowEnergyEventRouter> event_router_;
+
+ content::BrowserContext* browser_context_;
+
+ DISALLOW_COPY_AND_ASSIGN(BluetoothLowEnergyAPI);
+};
+
namespace api {
-class BluetoothLowEnergyGetServiceFunction : public UIThreadExtensionFunction {
+// Base class for bluetoothLowEnergy API functions. This class handles some of
+// the common logic involved in all API functions, such as checking for
+// platform support and returning the correct error.
+class BluetoothLowEnergyExtensionFunction : public UIThreadExtensionFunction {
+ public:
+ BluetoothLowEnergyExtensionFunction();
+
+ protected:
+ virtual ~BluetoothLowEnergyExtensionFunction();
+
+ // ExtensionFunction override.
+ virtual bool RunImpl() OVERRIDE;
+
+ // Implemented by individual bluetoothLowEnergy extension functions to perform
+ // the body of the function. This invoked asynchonously after RunImpl after
+ // the BluetoothLowEnergyEventRouter has obtained a handle on the
+ // BluetoothAdapter.
+ virtual void DoWork() = 0;
+
+ private:
+ // Note: This should remain the last member so it'll be destroyed and
+ // invalidate its weak pointers before any other members are destroyed.
+ base::WeakPtrFactory<BluetoothLowEnergyExtensionFunction> weak_ptr_factory_;
rpaquay 2014/04/24 23:00:04 Is this field still needed?
armansito 2014/04/24 23:02:31 It's removed in the latest patch set.
+
+ DISALLOW_COPY_AND_ASSIGN(BluetoothLowEnergyExtensionFunction);
+};
+
+class BluetoothLowEnergyGetServiceFunction
+ : public BluetoothLowEnergyExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("bluetoothLowEnergy.getService",
BLUETOOTHLOWENERGY_GETSERVICE);
@@ -19,11 +86,12 @@ class BluetoothLowEnergyGetServiceFunction : public UIThreadExtensionFunction {
protected:
virtual ~BluetoothLowEnergyGetServiceFunction() {}
- // UIThreadExtensionFunction override.
- virtual bool RunImpl() OVERRIDE;
+ // BluetoothLowEnergyExtensionFunction override.
+ virtual void DoWork() OVERRIDE;
};
-class BluetoothLowEnergyGetServicesFunction : public UIThreadExtensionFunction {
+class BluetoothLowEnergyGetServicesFunction
+ : public BluetoothLowEnergyExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("bluetoothLowEnergy.getServices",
BLUETOOTHLOWENERGY_GETSERVICES);
@@ -31,12 +99,12 @@ class BluetoothLowEnergyGetServicesFunction : public UIThreadExtensionFunction {
protected:
virtual ~BluetoothLowEnergyGetServicesFunction() {}
- // UIThreadExtensionFunction override.
- virtual bool RunImpl() OVERRIDE;
+ // BluetoothLowEnergyExtensionFunction override.
+ virtual void DoWork() OVERRIDE;
};
class BluetoothLowEnergyGetCharacteristicFunction
- : public UIThreadExtensionFunction {
+ : public BluetoothLowEnergyExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("bluetoothLowEnergy.getCharacteristic",
BLUETOOTHLOWENERGY_GETCHARACTERISTIC);
@@ -44,12 +112,12 @@ class BluetoothLowEnergyGetCharacteristicFunction
protected:
virtual ~BluetoothLowEnergyGetCharacteristicFunction() {}
- // UIThreadExtensionFunction override.
- virtual bool RunImpl() OVERRIDE;
+ // BluetoothLowEnergyExtensionFunction override.
+ virtual void DoWork() OVERRIDE;
};
class BluetoothLowEnergyGetCharacteristicsFunction
- : public UIThreadExtensionFunction {
+ : public BluetoothLowEnergyExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("bluetoothLowEnergy.getCharacteristics",
BLUETOOTHLOWENERGY_GETCHARACTERISTICS);
@@ -57,12 +125,12 @@ class BluetoothLowEnergyGetCharacteristicsFunction
protected:
virtual ~BluetoothLowEnergyGetCharacteristicsFunction() {}
- // UIThreadExtensionFunction override.
- virtual bool RunImpl() OVERRIDE;
+ // BluetoothLowEnergyExtensionFunction override.
+ virtual void DoWork() OVERRIDE;
};
class BluetoothLowEnergyGetIncludedServicesFunction
- : public UIThreadExtensionFunction {
+ : public BluetoothLowEnergyExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("bluetoothLowEnergy.getIncludedServices",
BLUETOOTHLOWENERGY_GETINCLUDEDSERVICES);
@@ -70,12 +138,12 @@ class BluetoothLowEnergyGetIncludedServicesFunction
protected:
virtual ~BluetoothLowEnergyGetIncludedServicesFunction() {}
- // UIThreadExtensionFunction override.
- virtual bool RunImpl() OVERRIDE;
+ // BluetoothLowEnergyExtensionFunction override.
+ virtual void DoWork() OVERRIDE;
};
class BluetoothLowEnergyGetDescriptorFunction
- : public UIThreadExtensionFunction {
+ : public BluetoothLowEnergyExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("bluetoothLowEnergy.getDescriptor",
BLUETOOTHLOWENERGY_GETDESCRIPTOR);
@@ -83,12 +151,12 @@ class BluetoothLowEnergyGetDescriptorFunction
protected:
virtual ~BluetoothLowEnergyGetDescriptorFunction() {}
- // UIThreadExtensionFunction override.
- virtual bool RunImpl() OVERRIDE;
+ // BluetoothLowEnergyExtensionFunction override.
+ virtual void DoWork() OVERRIDE;
};
class BluetoothLowEnergyGetDescriptorsFunction
- : public UIThreadExtensionFunction {
+ : public BluetoothLowEnergyExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("bluetoothLowEnergy.getDescriptors",
BLUETOOTHLOWENERGY_GETDESCRIPTORS);
@@ -96,12 +164,12 @@ class BluetoothLowEnergyGetDescriptorsFunction
protected:
virtual ~BluetoothLowEnergyGetDescriptorsFunction() {}
- // UIThreadExtensionFunction override.
- virtual bool RunImpl() OVERRIDE;
+ // BluetoothLowEnergyExtensionFunction override.
+ virtual void DoWork() OVERRIDE;
};
class BluetoothLowEnergyReadCharacteristicValueFunction
- : public UIThreadExtensionFunction {
+ : public BluetoothLowEnergyExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("bluetoothLowEnergy.readCharacteristicValue",
BLUETOOTHLOWENERGY_READCHARACTERISTICVALUE);
@@ -109,12 +177,12 @@ class BluetoothLowEnergyReadCharacteristicValueFunction
protected:
virtual ~BluetoothLowEnergyReadCharacteristicValueFunction() {}
- // UIThreadExtensionFunction override.
- virtual bool RunImpl() OVERRIDE;
+ // BluetoothLowEnergyExtensionFunction override.
+ virtual void DoWork() OVERRIDE;
};
class BluetoothLowEnergyWriteCharacteristicValueFunction
- : public UIThreadExtensionFunction {
+ : public BluetoothLowEnergyExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("bluetoothLowEnergy.writeCharacteristicValue",
BLUETOOTHLOWENERGY_WRITECHARACTERISTICVALUE);
@@ -122,12 +190,12 @@ class BluetoothLowEnergyWriteCharacteristicValueFunction
protected:
virtual ~BluetoothLowEnergyWriteCharacteristicValueFunction() {}
- // UIThreadExtensionFunction override.
- virtual bool RunImpl() OVERRIDE;
+ // BluetoothLowEnergyExtensionFunction override.
+ virtual void DoWork() OVERRIDE;
};
class BluetoothLowEnergyReadDescriptorValueFunction
- : public UIThreadExtensionFunction {
+ : public BluetoothLowEnergyExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("bluetoothLowEnergy.readDescriptorValue",
BLUETOOTHLOWENERGY_READDESCRIPTORVALUE);
@@ -135,12 +203,12 @@ class BluetoothLowEnergyReadDescriptorValueFunction
protected:
virtual ~BluetoothLowEnergyReadDescriptorValueFunction() {}
- // UIThreadExtensionFunction override.
- virtual bool RunImpl() OVERRIDE;
+ // BluetoothLowEnergyExtensionFunction override.
+ virtual void DoWork() OVERRIDE;
};
class BluetoothLowEnergyWriteDescriptorValueFunction
- : public UIThreadExtensionFunction {
+ : public BluetoothLowEnergyExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("bluetoothLowEnergy.writeDescriptorValue",
BLUETOOTHLOWENERGY_WRITEDESCRIPTORVALUE);
@@ -148,8 +216,8 @@ class BluetoothLowEnergyWriteDescriptorValueFunction
protected:
virtual ~BluetoothLowEnergyWriteDescriptorValueFunction() {}
- // UIThreadExtensionFunction override.
- virtual bool RunImpl() OVERRIDE;
+ // BluetoothLowEnergyExtensionFunction override.
+ virtual void DoWork() OVERRIDE;
};
} // namespace api
« no previous file with comments | « no previous file | chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698