Correcting the INPUT in Doxygen file.
[platform/upstream/iotivity.git] / service / resource-container / examples / BMISensorBundle / include / BMISensor.h
1 //******************************************************************
2 //
3 // Copyright 2015 Samsung Electronics All Rights Reserved.
4 //
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 //
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
10 //
11 //      http://www.apache.org/licenses/LICENSE-2.0
12 //
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 //
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20
21 #ifndef BMISENSOR_H_
22 #define BMISENSOR_H_
23
24 #include <string>
25 #include <map>
26 #include <time.h>
27
28 /**
29  * Who BMI
30  * weight / height *height
31  *
32  * < 18.5  : underweight
33  * 18.5 <= < 25 : Normal Range
34  * <= 25  < 30 : Overweight
35  * <= 30 : Obese
36  */
37
38 #define UNKOWNBMI   -1
39 #define OUTOFDATEBMI   0
40 #define UNDERWEIGHT     1
41 #define NORMALRANGE     2
42 #define OVERWEIGHT      3
43 #define OBESE           4
44
45 #define UNDERWEIGHT_VAL     18.5
46 #define NORMALRANGE_VAL     25.9
47 #define OVERWEIGHT_VAL      30
48
49 #define DIFFTIME      5     // valid time difference. (seconds)
50
51
52 namespace BMISensorName
53 {
54     typedef enum
55     {
56         SUCCESS = 0, ERROR
57     } BMIResult;
58
59     class BMISensor
60     {
61         public:
62             BMISensor();
63             ~BMISensor();
64
65             int executeBMISensorLogic(std::map<std::string, std::string> *pInputData,
66                                       std::string *pOutput);
67             BMIResult makeBMI(void);
68
69         private:
70             std::string m_weight;
71             std::string m_height;
72             std::string m_BMIResult;
73
74             time_t  m_timepstampW;
75             time_t  m_timepstampH;
76     };
77 };
78
79 #endif /* BMISENSOR_H_ */