Rename the class Json to avoid symbol conflicts with Jsoncpp
[platform/core/context/context-provider.git] / src / sensor / pedometer / Pedometer.cpp
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include <SensorRecorderTypes.h>
18 #include <Util.h>
19 #include "../TypesInternal.h"
20 #include "PedometerLogger.h"
21 #include "PedometerQuerier.h"
22 #include "Pedometer.h"
23
24 using namespace ctx;
25
26 PedometerProvider::PedometerProvider() :
27         SensorProvider(SUBJ_SENSOR_PEDOMETER)
28 {
29         IF_FAIL_VOID(isSupported());
30
31         sensorLogger = new(std::nothrow) PedometerLogger();
32         IF_FAIL_VOID_TAG(sensorLogger, _E, "Memory allocation failed");
33 }
34
35 PedometerProvider::~PedometerProvider()
36 {
37 }
38
39 void PedometerProvider::getPrivilege(std::vector<const char*> &privilege)
40 {
41         privilege.push_back(PRIV_HEALTHINFO);
42 }
43
44 bool PedometerProvider::isSupported()
45 {
46         return util::getSystemInfoBool("tizen.org/feature/sensor.pedometer");
47 }
48
49 Querier* PedometerProvider::getQuerier(CtxJson1 option)
50 {
51         PedometerQuerier *querier = new(std::nothrow) PedometerQuerier(this, option);
52         IF_FAIL_RETURN_TAG(querier, NULL, _E, "Memory allocation failed");
53         return querier;
54 }