3 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
5 * Licensed under the Apache License, Version 2.0 (the "License"),
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 #include "tracker_private.h"
21 struct ops *trackers[TRACKER_TYPE_MAX];
23 API int tracker_get_ref_counter(tracker_type_e type, int *cnt)
27 if (type <= TRACKER_TYPE_INVALID || type >= TRACKER_TYPE_MAX || !trackers[type]) {
28 _E("Try to access not existed tracker %d", type);
29 return TRACKER_ERROR_INVALID_PARAMETER;
32 ref = trackers[type]->get_ref_counter();
34 _E("Failed to get power lock reference count(%d)", ref);
39 return TRACKER_ERROR_NONE;
42 API int tracker_get_tick(tracker_type_e type, int *cnt)
46 if (type <= TRACKER_TYPE_INVALID || type >= TRACKER_TYPE_MAX || !trackers[type]) {
47 _E("Try to access not existed tracker %d", type);
48 return TRACKER_ERROR_INVALID_PARAMETER;
51 count = trackers[type]->get_tick();
53 _E("Failed to get power lock total count(%d)", count);
58 return TRACKER_ERROR_NONE;
61 API int tracker_start_services(int services)
64 return TRACKER_ERROR_INVALID_PARAMETER;
66 if (services & TRACKER_SERVICE_DOWNLOAD)
67 start_service_download();
68 if (services & TRACKER_SERVICE_MEDIA)
69 start_service_media();
70 if (services & TRACKER_SERVICE_NETWORK)
71 start_service_network();
72 if (services & TRACKER_SERVICE_LOCATION)
73 start_service_location();
74 if (services & TRACKER_SERVICE_SENSOR)
75 start_service_sensor();
76 if (services & TRACKER_SERVICE_IOT)
79 return TRACKER_ERROR_NONE;
82 API int tracker_stop_services(int services)
85 return TRACKER_ERROR_INVALID_PARAMETER;
87 if (services & TRACKER_SERVICE_DOWNLOAD)
88 stop_service_download();
89 if (services & TRACKER_SERVICE_MEDIA)
91 if (services & TRACKER_SERVICE_NETWORK)
92 stop_service_network();
93 if (services & TRACKER_SERVICE_LOCATION)
94 stop_service_location();
95 if (services & TRACKER_SERVICE_SENSOR)
96 stop_service_sensor();
97 if (services & TRACKER_SERVICE_IOT)
100 return TRACKER_ERROR_NONE;