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

Side by Side Diff: chrome/browser/extensions/api/bluetooth/bluetooth_api.h

Issue 10381120: Implement chrome.experimental.bluetooth.connect (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_BLUETOOTH_API_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_BLUETOOTH_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_BLUETOOTH_API_H_ 6 #define CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_BLUETOOTH_API_H_
7 #pragma once 7 #pragma once
8 8
9 #include "chrome/browser/extensions/extension_function.h" 9 #include "chrome/browser/extensions/extension_function.h"
10 10
11 #if defined(OS_CHROMEOS) 11 #if defined(OS_CHROMEOS)
12 #include "base/memory/ref_counted.h"
13
12 namespace chromeos { 14 namespace chromeos {
13 15
14 class BluetoothAdapter; 16 class BluetoothAdapter;
15 class BluetoothDevice; 17 class BluetoothDevice;
18 class BluetoothSocket;
19 class ExtensionBluetoothEventRouter;
16 20
17 } // namespace chromeos 21 } // namespace chromeos
18 #endif 22 #endif
19 23
20 namespace extensions { 24 namespace extensions {
21 namespace api { 25 namespace api {
22 26
23 class BluetoothExtensionFunction : public SyncExtensionFunction { 27 class BluetoothExtensionFunction : public SyncExtensionFunction {
24 protected: 28 protected:
25 virtual ~BluetoothExtensionFunction() {} 29 virtual ~BluetoothExtensionFunction() {}
26 30
27 #if defined(OS_CHROMEOS) 31 #if defined(OS_CHROMEOS)
32 chromeos::ExtensionBluetoothEventRouter* event_router();
28 const chromeos::BluetoothAdapter* adapter() const; 33 const chromeos::BluetoothAdapter* adapter() const;
29 chromeos::BluetoothAdapter* GetMutableAdapter(); 34 chromeos::BluetoothAdapter* GetMutableAdapter();
30 #endif 35 #endif
31 }; 36 };
32 37
33 class AsyncBluetoothExtensionFunction : public AsyncExtensionFunction { 38 class AsyncBluetoothExtensionFunction : public AsyncExtensionFunction {
34 protected: 39 protected:
35 virtual ~AsyncBluetoothExtensionFunction() {} 40 virtual ~AsyncBluetoothExtensionFunction() {}
36 41
37 #if defined(OS_CHROMEOS) 42 #if defined(OS_CHROMEOS)
43 chromeos::ExtensionBluetoothEventRouter* event_router();
38 const chromeos::BluetoothAdapter* adapter() const; 44 const chromeos::BluetoothAdapter* adapter() const;
39 chromeos::BluetoothAdapter* GetMutableAdapter(); 45 chromeos::BluetoothAdapter* GetMutableAdapter();
40 #endif 46 #endif
41 }; 47 };
42 48
43 class BluetoothIsAvailableFunction : public BluetoothExtensionFunction { 49 class BluetoothIsAvailableFunction : public BluetoothExtensionFunction {
44 public: 50 public:
45 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bluetooth.isAvailable") 51 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bluetooth.isAvailable")
46 52
47 protected: 53 protected:
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 110
105 #if defined(OS_CHROMEOS) 111 #if defined(OS_CHROMEOS)
106 private: 112 private:
107 void AddDeviceIfTrue( 113 void AddDeviceIfTrue(
108 ListValue* list, const chromeos::BluetoothDevice* device, bool result); 114 ListValue* list, const chromeos::BluetoothDevice* device, bool result);
109 115
110 int callbacks_pending_; 116 int callbacks_pending_;
111 #endif 117 #endif
112 }; 118 };
113 119
120 class BluetoothConnectFunction : public AsyncBluetoothExtensionFunction {
121 public:
122 virtual bool RunImpl() OVERRIDE;
123 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bluetooth.connect")
124
125 private:
126 #if defined(OS_CHROMEOS)
127 void ConnectToServiceCallback(
128 const chromeos::BluetoothDevice* device,
129 const std::string& service_uuid,
130 scoped_refptr<chromeos::BluetoothSocket> socket);
131 #endif
132 };
133
114 class BluetoothDisconnectFunction : public BluetoothExtensionFunction { 134 class BluetoothDisconnectFunction : public BluetoothExtensionFunction {
115 public: 135 public:
116 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bluetooth.disconnect") 136 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bluetooth.disconnect")
117 137
118 protected: 138 protected:
119 virtual ~BluetoothDisconnectFunction() {} 139 virtual ~BluetoothDisconnectFunction() {}
120 140
121 // ExtensionFunction: 141 // ExtensionFunction:
122 virtual bool RunImpl() OVERRIDE; 142 virtual bool RunImpl() OVERRIDE;
123 }; 143 };
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 public: 183 public:
164 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bluetooth.write") 184 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bluetooth.write")
165 185
166 private: 186 private:
167 virtual ~BluetoothWriteFunction() {} 187 virtual ~BluetoothWriteFunction() {}
168 188
169 // ExtensionFunction: 189 // ExtensionFunction:
170 virtual bool RunImpl() OVERRIDE; 190 virtual bool RunImpl() OVERRIDE;
171 }; 191 };
172 192
173 class BluetoothConnectFunction : public BluetoothExtensionFunction {
174 public:
175 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bluetooth.connect")
176
177 protected:
178 virtual ~BluetoothConnectFunction() {}
179
180 // ExtensionFunction:
181 virtual bool RunImpl() OVERRIDE;
182 };
183
184 } // namespace api 193 } // namespace api
185 } // namespace extensions 194 } // namespace extensions
186 195
187 #endif // CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_BLUETOOTH_API_H_ 196 #endif // CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_BLUETOOTH_API_H_
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/extensions/bluetooth_event_router.cc ('k') | chrome/browser/extensions/api/bluetooth/bluetooth_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698