tizen 2.3 release
[apps/livebox/data-provider-master.git] / include / group.h
1 /*
2  * Copyright 2013  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.1 (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://floralicense.org/license/
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 struct cluster;
18 struct category;
19 struct pkg_info;
20 struct context_info;
21 struct context_item;
22 struct context_option;
23
24 extern struct cluster *group_create_cluster(const char *name);
25 extern struct cluster *group_find_cluster(const char *name);
26 extern int group_destroy_cluster(struct cluster *cluster);
27
28 extern struct category *group_create_category(struct cluster *cluster, const char *name);
29 extern struct category *group_find_category(struct cluster *cluster, const char *name);
30 extern int group_destroy_category(struct category *category);
31
32 extern const char * const group_category_name(struct category *category);
33 extern const char * const group_cluster_name(struct cluster *cluster);
34 extern const char *group_cluster_name_by_category(struct category *category);
35
36 extern int group_add_package(struct category *category, const char *pkgname);
37 extern int group_del_package(struct category *category, const char *pkgname);
38
39 extern int group_add_dynamicbox(const char *group, const char *pkgname);
40 extern int group_del_dynamicbox(const char *pkgname);
41
42 extern int group_init(void);
43 extern int group_fini(void);
44
45 extern struct context_info *group_create_context_info(struct category *category, const char *pkgname);
46 extern struct context_item *group_add_context_item(struct context_info *info, const char *ctx_item);
47 extern int group_add_option(struct context_item *item, const char *key, const char *value);
48 extern int group_destroy_context_info(struct context_info *info);
49
50 extern Eina_List * const group_context_info_list(struct category *category);
51 extern Eina_List * const group_context_item_list(struct context_info *info);
52 extern Eina_List * const group_context_option_list(struct context_item *item);
53 extern Eina_List * const group_cluster_list(void);
54 extern Eina_List * const group_category_list(struct cluster *cluster);
55 extern struct context_info * const group_context_info_from_item(struct context_item *item);
56 extern struct category * const group_category_from_context_info(struct context_info *info);
57 extern const char * const group_option_item_key(struct context_option *option);
58 extern const char * const group_option_item_value(struct context_option *option);
59 extern const char * const group_context_item(struct context_item *item);
60 extern const char * const group_pkgname_from_context_info(struct context_info *info);
61
62 extern void *group_context_item_del_data(struct context_item *item, const char *tag);
63 extern void *group_context_item_data(struct context_item *item, const char *tag);
64 extern int group_context_item_add_data(struct context_item *item, const char *tag, void *data);
65 /* End of a file */