Add multi-user feature
[platform/core/appfw/librua.git] / include / rua_stat.h
1 /*
2  * Copyright (c) 2000 - 2016 Samsung Electronics Co., Ltd. All rights reserved.
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 /**
18  * @file        rua_stat.h
19  * @brief       RUA STATUS API declaration header file.
20  * @author      Hyunho Kang (hhstark.kang@samsung.com)
21  * @version     0.1
22  * @history     0.1: RUA STAT API Declarations, structure declaration
23  */
24
25 #ifndef __RUA_STAT_H__
26 #define __RUA_STAT_H__
27
28 #include <unistd.h>
29 #include <sys/types.h>
30 #include <sqlite3.h>
31 #include <bundle.h>
32
33 #ifndef API
34 #define API __attribute__ ((visibility("default")))
35 #endif
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 /**
42  * @brief       Update rua status
43  * @param[in]   caller, tag, uid
44  * @return      0 on success, otherwise a nagative error value
45  * @retval      0 on successful
46  * @retval      -1 on failed
47  */
48 API int rua_stat_update_for_uid(char *caller, char *tag, uid_t uid);
49
50 /**
51  * @brief       Get rua status tag list
52  * @param[in]   caller, callback, user data
53  * @return      0 on success, otherwise a nagative error value
54  * @retval      0 on successful
55  * @retval      -1 on failed
56  */
57 API int rua_stat_get_stat_tags(char *caller,
58                 int (*rua_stat_tag_iter_fn)(const char *rua_stat_tag, void *data), void *data);
59 API int rua_stat_get_stat_tags_for_uid(char *caller,
60                 int (*rua_stat_tag_iter_fn)(const char *rua_stat_tag, void *data),
61                 void *data, uid_t uid);
62 #ifdef __cplusplus
63 }
64 #endif
65 #endif /*__RUA_STAT_H__*/