summaryrefslogtreecommitdiff
path: root/libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/TS28BController.h
blob: 998a4c8c3ec739d2b2ac6ff7329bf63eb545ecae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
//
//  TS28BController.h
//  iHealthSDKStatic
//
//  Created by Lei Bao on 2017/6/13.
//  Copyright © 2017年 daiqingquan. All rights reserved.
//

#import <Foundation/Foundation.h>

/**
 TemperatureType
 */
typedef NS_ENUM(NSInteger, TemperatureType) {
    /// NotDefined
    TemperatureType_NotDefined = 0,
    /// Armpit
    TemperatureType_Armpit,
    /// Body
    TemperatureType_Body,
    /// Ear
    TemperatureType_Ear,
    /// Finger
    TemperatureType_Finger,
    /// GastroIntestinalTract
    TemperatureType_GastroIntestinalTract,
    /// Mouth
    TemperatureType_Mouth,
    /// Rectum
    TemperatureType_Rectum,
    /// Toe
    TemperatureType_Toe,
    /// Tympanum
    TemperatureType_Tympanum,
};

/**
 TemperatureUnit
 */
typedef NS_ENUM(NSInteger, TemperatureUnit) {
    /// NotDefined
    TemperatureUnit_NotDefined = 0,
    /// Degrees Celsius
    TemperatureUnit_C,
    /// Fahrenheit
    TemperatureUnit_F,
};

@class TS28B;
@class TS28BController;

/**
 TS28BControllerDelegate
 */
@protocol TS28BControllerDelegate <NSObject>

@optional

/**
 Discover device.

 @param controller who calls this method
 @param device Discovered device
 */
- (void)controller:(TS28BController *)controller didDiscoverDevice:(TS28B *)device;

/**
 Connect device successfully.After connect and read Device Information, this method will be called.

 @param controller who calls this method
 @param device Connected device
 */
- (void)controller:(TS28BController *)controller didConnectSuccessDevice:(TS28B *)device;

/**
 Connect device Fail.

 @param controller who calls this method
 @param device The spectific device
 */
- (void)controller:(TS28BController *)controller didConnectFailDevice:(TS28B *)device;

/**
 Device is disconnected.    If you turn off your phone’s Bluetooth, please listen for the notification: @"BTLEPowerOff"

 @param controller who calls this method
 @param device The spectific device
 */
- (void)controller:(TS28BController *)controller didDisconnectDevice:(TS28B *)device;

/**
 Temperature is uploaded.

 @param controller who calls this method
 @param device The spectific device
 @param value temperature value. 
 @param unit temperature unit.TemperatureUnit type, reference: https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.temperature_measurement.xml
 @param date measure date
 @param type measure location. TemperatureType type, reference: https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.temperature_type.xml
 */
- (void)controller:(TS28BController *)controller device:(TS28B *)device didUpdateTemperature:(float)value temperatureUnit:(TemperatureUnit)unit measureDate:(NSDate *)date measureLocation:(TemperatureType)type;

@end

/**
 TS28BController
 */
@interface TS28BController : NSObject

@property (weak, nonatomic) id<TS28BControllerDelegate> delegate;

/**
 Initialize TS28BController class

 @return TS28BController class object
 */
+ (TS28BController *)sharedController;
/**
 Star to scan TS28B device
 */
- (void)startScan;

/**
 Stop scanning
 */
- (void)stopScan;

/**
 Connect with spectific device

 @param device TS28B object. You can get it from - (void)controller:(TS28BController *)controller didDiscoverDevice:(TS28B *)device;
 */
- (void)connectDevice:(TS28B *)device;

/**
 Connect with spectific device

 @param device TS28B object. You can get it from - (void)controller:(TS28BController *)controller didConnectSuccessDevice:(TS28B *)device;
 */
- (void)disconnectDevice:(TS28B *)device;

@end