OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 CONTENT_RENDERER_BLUETOOTH_WEB_BLUETOOTH_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_BLUETOOTH_WEB_BLUETOOTH_IMPL_H_ |
6 #define CONTENT_RENDERER_BLUETOOTH_WEB_BLUETOOTH_IMPL_H_ | 6 #define CONTENT_RENDERER_BLUETOOTH_WEB_BLUETOOTH_IMPL_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 int32_t quantity /* Corresponds to WebBluetoothGATTQueryQuantity in | 57 int32_t quantity /* Corresponds to WebBluetoothGATTQueryQuantity in |
58 web_bluetooth.mojom */, | 58 web_bluetooth.mojom */, |
59 const blink::WebString& services_uuid, | 59 const blink::WebString& services_uuid, |
60 blink::WebBluetoothGetPrimaryServicesCallbacks* callbacks) override; | 60 blink::WebBluetoothGetPrimaryServicesCallbacks* callbacks) override; |
61 void getCharacteristics( | 61 void getCharacteristics( |
62 const blink::WebString& service_instance_id, | 62 const blink::WebString& service_instance_id, |
63 int32_t quantity /* Corresponds to WebBluetoothGATTQueryQuantity in | 63 int32_t quantity /* Corresponds to WebBluetoothGATTQueryQuantity in |
64 web_bluetooth.mojom */, | 64 web_bluetooth.mojom */, |
65 const blink::WebString& characteristics_uuid, | 65 const blink::WebString& characteristics_uuid, |
66 blink::WebBluetoothGetCharacteristicsCallbacks* callbacks) override; | 66 blink::WebBluetoothGetCharacteristicsCallbacks* callbacks) override; |
67 void readValue(const blink::WebString& characteristic_instance_id, | 67 void characteristicReadValue( |
68 blink::WebBluetoothReadValueCallbacks* callbacks) override; | 68 const blink::WebString& characteristic_instance_id, |
69 void writeValue(const blink::WebString& characteristic_instance_id, | 69 blink::WebBluetoothReadValueCallbacks* callbacks) override; |
70 const blink::WebVector<uint8_t>& value, | 70 void characteristicWriteValue( |
71 blink::WebBluetoothWriteValueCallbacks*) override; | 71 const blink::WebString& characteristic_instance_id, |
| 72 const blink::WebVector<uint8_t>& value, |
| 73 blink::WebBluetoothWriteValueCallbacks*) override; |
72 void startNotifications( | 74 void startNotifications( |
73 const blink::WebString& characteristic_instance_id, | 75 const blink::WebString& characteristic_instance_id, |
74 blink::WebBluetoothNotificationsCallbacks*) override; | 76 blink::WebBluetoothNotificationsCallbacks*) override; |
75 void stopNotifications( | 77 void stopNotifications( |
76 const blink::WebString& characteristic_instance_id, | 78 const blink::WebString& characteristic_instance_id, |
77 blink::WebBluetoothNotificationsCallbacks*) override; | 79 blink::WebBluetoothNotificationsCallbacks*) override; |
78 void characteristicObjectRemoved( | 80 void characteristicObjectRemoved( |
79 const blink::WebString& characteristic_instance_id, | 81 const blink::WebString& characteristic_instance_id, |
80 blink::WebBluetoothRemoteGATTCharacteristic* characteristic) override; | 82 blink::WebBluetoothRemoteGATTCharacteristic* characteristic) override; |
81 void registerCharacteristicObject( | 83 void registerCharacteristicObject( |
82 const blink::WebString& characteristic_instance_id, | 84 const blink::WebString& characteristic_instance_id, |
83 blink::WebBluetoothRemoteGATTCharacteristic* characteristic) override; | 85 blink::WebBluetoothRemoteGATTCharacteristic* characteristic) override; |
| 86 void getDescriptors( |
| 87 const blink::WebString& characteristic_instance_id, |
| 88 int32_t quantity /* Corresponds to WebBluetoothGATTQueryQuantity in |
| 89 web_bluetooth.mojom */, |
| 90 const blink::WebString& descriptor_uuid, |
| 91 blink::WebBluetoothGetDescriptorsCallbacks* callbacks) override; |
| 92 void descriptorReadValue( |
| 93 const blink::WebString& descriptor_instance_id, |
| 94 blink::WebBluetoothReadValueCallbacks* callbacks) override; |
| 95 void descriptorWriteValue(const blink::WebString& descriptor_instance_id, |
| 96 const blink::WebVector<uint8_t>& value, |
| 97 blink::WebBluetoothWriteValueCallbacks*) override; |
84 | 98 |
85 private: | 99 private: |
86 struct GetCharacteristicsCallback; | 100 struct GetCharacteristicsCallback; |
87 // WebBluetoothServiceClient methods: | 101 // WebBluetoothServiceClient methods: |
88 void RemoteCharacteristicValueChanged( | 102 void RemoteCharacteristicValueChanged( |
89 const mojo::String& characteristic_instance_id, | 103 const mojo::String& characteristic_instance_id, |
90 mojo::Array<uint8_t> value) override; | 104 mojo::Array<uint8_t> value) override; |
91 void GattServerDisconnected(const WebBluetoothDeviceId& device_id) override; | 105 void GattServerDisconnected(const WebBluetoothDeviceId& device_id) override; |
92 | 106 |
93 // Callbacks for WebBluetoothService calls: | 107 // Callbacks for WebBluetoothService calls: |
94 void OnRequestDeviceComplete( | 108 void OnRequestDeviceComplete( |
95 std::unique_ptr<blink::WebBluetoothRequestDeviceCallbacks> callbacks, | 109 std::unique_ptr<blink::WebBluetoothRequestDeviceCallbacks> callbacks, |
96 const blink::mojom::WebBluetoothResult result, | 110 const blink::mojom::WebBluetoothResult result, |
97 blink::mojom::WebBluetoothDevicePtr device); | 111 blink::mojom::WebBluetoothDevicePtr device); |
98 void OnConnectComplete( | 112 void OnConnectComplete( |
99 std::unique_ptr<blink::WebBluetoothRemoteGATTServerConnectCallbacks> | 113 std::unique_ptr<blink::WebBluetoothRemoteGATTServerConnectCallbacks> |
100 callbacks, | 114 callbacks, |
101 blink::mojom::WebBluetoothResult result); | 115 blink::mojom::WebBluetoothResult result); |
102 void OnGetPrimaryServicesComplete( | 116 void OnGetPrimaryServicesComplete( |
103 const blink::WebString& device_id, | 117 const blink::WebString& device_id, |
104 std::unique_ptr<blink::WebBluetoothGetPrimaryServicesCallbacks> callbacks, | 118 std::unique_ptr<blink::WebBluetoothGetPrimaryServicesCallbacks> callbacks, |
105 blink::mojom::WebBluetoothResult result, | 119 blink::mojom::WebBluetoothResult result, |
106 mojo::Array<blink::mojom::WebBluetoothRemoteGATTServicePtr> services); | 120 mojo::Array<blink::mojom::WebBluetoothRemoteGATTServicePtr> services); |
107 void OnGetCharacteristicsComplete( | 121 void OnGetCharacteristicsComplete( |
108 const blink::WebString& service_instance_id, | 122 const blink::WebString& characteristic_instance_id, |
109 std::unique_ptr<blink::WebBluetoothGetCharacteristicsCallbacks> callbacks, | 123 std::unique_ptr<blink::WebBluetoothGetCharacteristicsCallbacks> callbacks, |
110 blink::mojom::WebBluetoothResult result, | 124 blink::mojom::WebBluetoothResult result, |
111 mojo::Array<blink::mojom::WebBluetoothRemoteGATTCharacteristicPtr> | 125 mojo::Array<blink::mojom::WebBluetoothRemoteGATTCharacteristicPtr> |
112 characteristics); | 126 characteristics); |
113 void OnReadValueComplete( | 127 void OnReadValueComplete( |
114 std::unique_ptr<blink::WebBluetoothReadValueCallbacks> callbacks, | 128 std::unique_ptr<blink::WebBluetoothReadValueCallbacks> callbacks, |
115 blink::mojom::WebBluetoothResult result, | 129 blink::mojom::WebBluetoothResult result, |
116 mojo::Array<uint8_t> value); | 130 mojo::Array<uint8_t> value); |
117 void OnWriteValueComplete( | 131 void OnWriteValueComplete( |
118 const blink::WebVector<uint8_t>& value, | 132 const blink::WebVector<uint8_t>& value, |
119 std::unique_ptr<blink::WebBluetoothWriteValueCallbacks> callbacks, | 133 std::unique_ptr<blink::WebBluetoothWriteValueCallbacks> callbacks, |
120 blink::mojom::WebBluetoothResult result); | 134 blink::mojom::WebBluetoothResult result); |
121 void OnStartNotificationsComplete( | 135 void OnStartNotificationsComplete( |
122 std::unique_ptr<blink::WebBluetoothNotificationsCallbacks> callbacks, | 136 std::unique_ptr<blink::WebBluetoothNotificationsCallbacks> callbacks, |
123 blink::mojom::WebBluetoothResult result); | 137 blink::mojom::WebBluetoothResult result); |
124 void OnStopNotificationsComplete( | 138 void OnStopNotificationsComplete( |
125 std::unique_ptr<blink::WebBluetoothNotificationsCallbacks> callbacks); | 139 std::unique_ptr<blink::WebBluetoothNotificationsCallbacks> callbacks); |
126 | 140 void OnGetDescriptorsComplete( |
| 141 const blink::WebString& service_instance_id, |
| 142 std::unique_ptr<blink::WebBluetoothGetDescriptorsCallbacks> callbacks, |
| 143 blink::mojom::WebBluetoothResult result, |
| 144 mojo::Array<blink::mojom::WebBluetoothRemoteGATTDescriptorPtr> |
| 145 characteristics); |
127 void DispatchCharacteristicValueChanged( | 146 void DispatchCharacteristicValueChanged( |
128 const std::string& characteristic_instance_id, | 147 const std::string& characteristic_instance_id, |
129 const std::vector<uint8_t>& value); | 148 const std::vector<uint8_t>& value); |
130 | 149 |
131 blink::mojom::WebBluetoothService& GetWebBluetoothService(); | 150 blink::mojom::WebBluetoothService& GetWebBluetoothService(); |
132 service_manager::InterfaceProvider* const remote_interfaces_; | 151 service_manager::InterfaceProvider* const remote_interfaces_; |
133 blink::mojom::WebBluetoothServicePtr web_bluetooth_service_; | 152 blink::mojom::WebBluetoothServicePtr web_bluetooth_service_; |
134 | 153 |
135 // Map of characteristic_instance_ids to | 154 // Map of characteristic_instance_ids to |
136 // WebBluetoothRemoteGATTCharacteristics. When characteristicObjectRemoved is | 155 // WebBluetoothRemoteGATTCharacteristics. When characteristicObjectRemoved is |
(...skipping 12 matching lines...) Expand all Loading... |
149 | 168 |
150 // Binding associated with |web_bluetooth_service_|. | 169 // Binding associated with |web_bluetooth_service_|. |
151 mojo::AssociatedBinding<blink::mojom::WebBluetoothServiceClient> binding_; | 170 mojo::AssociatedBinding<blink::mojom::WebBluetoothServiceClient> binding_; |
152 | 171 |
153 DISALLOW_COPY_AND_ASSIGN(WebBluetoothImpl); | 172 DISALLOW_COPY_AND_ASSIGN(WebBluetoothImpl); |
154 }; | 173 }; |
155 | 174 |
156 } // namespace content | 175 } // namespace content |
157 | 176 |
158 #endif // CONTENT_RENDERER_BLUETOOTH_WEB_BLUETOOTH_IMPL_H_ | 177 #endif // CONTENT_RENDERER_BLUETOOTH_WEB_BLUETOOTH_IMPL_H_ |
OLD | NEW |