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

Side by Side Diff: device/bluetooth/test/mock_bluetooth_cbcharacteristic_mac.mm

Issue 2638653002: Bluetooth: macOS: DidModifyServices can happens while scanning (Closed)
Patch Set: Merge Created 3 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #include "device/bluetooth/test/mock_bluetooth_cbcharacteristic_mac.h" 5 #include "device/bluetooth/test/mock_bluetooth_cbcharacteristic_mac.h"
6 6
7 #include "base/mac/foundation_util.h" 7 #include "base/mac/foundation_util.h"
8 #include "base/mac/scoped_nsobject.h" 8 #include "base/mac/scoped_nsobject.h"
9 #include "device/bluetooth/bluetooth_gatt_characteristic.h" 9 #include "device/bluetooth/bluetooth_gatt_characteristic.h"
10 #include "device/bluetooth/test/mock_bluetooth_cbdescriptor_mac.h" 10 #include "device/bluetooth/test/mock_bluetooth_cbdescriptor_mac.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 return result; 87 return result;
88 } 88 }
89 } // namespace 89 } // namespace
90 } // device 90 } // device
91 91
92 @interface MockCBCharacteristic () { 92 @interface MockCBCharacteristic () {
93 // Owner of this instance. 93 // Owner of this instance.
94 CBService* _service; 94 CBService* _service;
95 scoped_nsobject<CBUUID> _UUID; 95 scoped_nsobject<CBUUID> _UUID;
96 CBCharacteristicProperties _cb_properties; 96 CBCharacteristicProperties _cb_properties;
97 scoped_nsobject<NSMutableArray> _simulatedDescriptors; 97 scoped_nsobject<NSMutableArray> _descriptors;
98 scoped_nsobject<NSArray> _descriptors;
99 scoped_nsobject<NSObject> _value; 98 scoped_nsobject<NSObject> _value;
100 BOOL _notifying; 99 BOOL _notifying;
101 } 100 }
102 @end 101 @end
103 102
104 @implementation MockCBCharacteristic 103 @implementation MockCBCharacteristic
105 104
106 - (instancetype)initWithService:(CBService*)service 105 - (instancetype)initWithService:(CBService*)service
107 CBUUID:(CBUUID*)uuid 106 CBUUID:(CBUUID*)uuid
108 properties:(int)properties { 107 properties:(int)properties {
109 self = [super init]; 108 self = [super init];
110 if (self) { 109 if (self) {
111 _service = service; 110 _service = service;
112 _UUID.reset([uuid retain]); 111 _UUID.reset([uuid retain]);
113 _cb_properties = 112 _cb_properties =
114 device::GattCharacteristicPropertyToCBCharacteristicProperty( 113 device::GattCharacteristicPropertyToCBCharacteristicProperty(
115 properties); 114 properties);
116 _simulatedDescriptors.reset([[NSMutableArray alloc] init]); 115 _descriptors.reset([[NSMutableArray alloc] init]);
117 } 116 }
118 return self; 117 return self;
119 } 118 }
120 119
121 - (BOOL)isKindOfClass:(Class)aClass { 120 - (BOOL)isKindOfClass:(Class)aClass {
122 if (aClass == [CBCharacteristic class] || 121 if (aClass == [CBCharacteristic class] ||
123 [aClass isSubclassOfClass:[CBCharacteristic class]]) { 122 [aClass isSubclassOfClass:[CBCharacteristic class]]) {
124 return YES; 123 return YES;
125 } 124 }
126 return [super isKindOfClass:aClass]; 125 return [super isKindOfClass:aClass];
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 } 181 }
183 182
184 - (void)simulateGattCharacteristicChangedWithValue:(NSData*)value { 183 - (void)simulateGattCharacteristicChangedWithValue:(NSData*)value {
185 _value.reset([value copy]); 184 _value.reset([value copy]);
186 CBPeripheral* peripheral = _service.peripheral; 185 CBPeripheral* peripheral = _service.peripheral;
187 [peripheral.delegate peripheral:peripheral 186 [peripheral.delegate peripheral:peripheral
188 didUpdateValueForCharacteristic:self.characteristic 187 didUpdateValueForCharacteristic:self.characteristic
189 error:nil]; 188 error:nil];
190 } 189 }
191 190
192 - (void)simulateDescriptorWithUUID:(CBUUID*)uuid { 191 - (void)addDescriptorWithUUID:(CBUUID*)uuid {
193 scoped_nsobject<MockCBDescriptor> descriptor_mock([[MockCBDescriptor alloc] 192 scoped_nsobject<MockCBDescriptor> descriptor_mock([[MockCBDescriptor alloc]
194 initWithCharacteristic:self.characteristic 193 initWithCharacteristic:self.characteristic
195 CBUUID:uuid]); 194 CBUUID:uuid]);
196 [_simulatedDescriptors.get() addObject:descriptor_mock]; 195 [_descriptors.get() addObject:descriptor_mock];
197 }
198
199 - (void)discoverDescriptors {
200 _descriptors.reset([_simulatedDescriptors copy]);
201 } 196 }
202 197
203 - (CBUUID*)UUID { 198 - (CBUUID*)UUID {
204 return _UUID.get(); 199 return _UUID.get();
205 } 200 }
206 201
207 - (CBCharacteristic*)characteristic { 202 - (CBCharacteristic*)characteristic {
208 return ObjCCast<CBCharacteristic>(self); 203 return ObjCCast<CBCharacteristic>(self);
209 } 204 }
210 205
(...skipping 11 matching lines...) Expand all
222 217
223 - (id)value { 218 - (id)value {
224 return _value.get(); 219 return _value.get();
225 } 220 }
226 221
227 - (BOOL)isNotifying { 222 - (BOOL)isNotifying {
228 return _notifying; 223 return _notifying;
229 } 224 }
230 225
231 @end 226 @end
OLDNEW
« no previous file with comments | « device/bluetooth/test/mock_bluetooth_cbcharacteristic_mac.h ('k') | device/bluetooth/test/mock_bluetooth_cbperipheral_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698