tizen 2.3 release
[apps/livebox/data-provider-master.git] / include / package.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 enum alter_type {
18         ALTER_CREATE,
19         ALTER_DESTROY
20 };
21
22 struct pkg_info;
23 struct inst_info;
24 struct context_info;
25 struct slave_node;
26
27 /*!
28  * \brief
29  * Construction & Destruction
30  */
31 extern struct pkg_info *package_create(const char *pkgid, const char *lbid);
32 extern int package_destroy(struct pkg_info *info);
33 extern char *package_dbox_pkgname(const char *pkgname);
34 extern int package_is_dbox_pkgname(const char *pkgname);
35 extern struct pkg_info *package_find(const char *pkgname);
36 extern const char *package_find_by_secured_slave(struct slave_node *slave);
37 extern struct inst_info *package_find_instance_by_id(const char *pkgname, const char *id);
38 extern struct inst_info *package_find_instance_by_timestamp(const char *pkgname, double timestamp);
39 extern int package_dump_fault_info(struct pkg_info *info);
40 extern int package_set_fault_info(struct pkg_info *info, double timestamp, const char *filename, const char *function);
41 extern int package_get_fault_info(struct pkg_info *info, double *timestmap, const char **filename, const char **function);
42
43 /*!
44  * \brief
45  * Readonly functions
46  */
47 extern const int const package_is_fault(const struct pkg_info *info);
48 extern struct slave_node * const package_slave(const struct pkg_info *info);
49 extern const int const package_timeout(const struct pkg_info *info);
50 extern const double const package_period(const struct pkg_info *info);
51 extern const int const package_secured(const struct pkg_info *info);
52 extern const char * const package_script(const struct pkg_info *info);
53 extern const char * const package_abi(const struct pkg_info *info);
54 extern const char * const package_dbox_path(const struct pkg_info *info);
55 extern const char * const package_dbox_group(const struct pkg_info *info);
56 extern const char * const package_gbar_path(const struct pkg_info *info);
57 extern const char * const package_gbar_group(const struct pkg_info *info);
58 extern const int const package_pinup(const struct pkg_info *info);
59 extern const char * const package_auto_launch(const struct pkg_info *info);
60 extern const unsigned int const package_size_list(const struct pkg_info *info);
61 extern const int const package_gbar_width(const struct pkg_info *info);
62 extern const int const package_gbar_height(const struct pkg_info *info);
63 extern const char * const package_name(const struct pkg_info *info);
64 extern const char * const package_libexec(struct pkg_info *info);
65 extern int package_network(struct pkg_info *info);
66 extern Eina_List *package_ctx_info(struct pkg_info *pkginfo);
67
68 extern int package_set_libexec(struct pkg_info *info, const char *libexec);
69 extern void package_set_pinup(struct pkg_info *info, int pinup);
70 extern void package_set_auto_launch(struct pkg_info *info, const char *auto_launch);
71 extern void package_set_size_list(struct pkg_info *info, unsigned int size_list);
72 extern void package_set_dbox_type(struct pkg_info *info, enum dynamicbox_dbox_type type);
73 extern void package_set_gbar_type(struct pkg_info *info, enum dynamicbox_gbar_type type);
74 extern int package_set_dbox_group(struct pkg_info *info, const char *group);
75 extern int package_set_dbox_path(struct pkg_info *info, const char *path);
76 extern int package_set_gbar_group(struct pkg_info *info, const char *group);
77 extern int package_set_gbar_path(struct pkg_info *info, const char *path);
78 extern int package_set_script(struct pkg_info *info, const char *script);
79 extern void package_set_secured(struct pkg_info *info, int secured);
80 extern void package_set_period(struct pkg_info *info, double period);
81 extern void package_set_timeout(struct pkg_info *info, int timeout);
82 extern void package_set_network(struct pkg_info *info, int network);
83 extern void package_set_gbar_height(struct pkg_info *info, int height);
84 extern void package_set_gbar_width(struct pkg_info *info, int width);
85 extern int package_set_abi(struct pkg_info *info, const char *abi);
86 extern void package_add_ctx_info(struct pkg_info *pkginfo, struct context_info *info);
87 extern void package_del_ctx_info(struct pkg_info *pkginfo, struct context_info *info);
88 extern void package_set_direct_input(struct pkg_info *info, int direct_input);
89 extern int package_direct_input(const struct pkg_info *info);
90 extern const char *package_hw_acceleration(struct pkg_info *info);
91 extern int package_set_hw_acceleration(struct pkg_info *info, const char *hw_acceleration);
92
93 /*!
94  * \brief
95  * Reference counter
96  */
97 extern struct pkg_info * const package_ref(struct pkg_info *info);
98 extern struct pkg_info * const package_unref(struct pkg_info *info);
99 extern const int const package_refcnt(const struct pkg_info *info);
100
101 extern const enum dynamicbox_gbar_type const package_gbar_type(const struct pkg_info *info);
102 extern const enum dynamicbox_dbox_type const package_dbox_type(const struct pkg_info *info);
103
104 extern int package_add_instance(struct pkg_info *info, struct inst_info *inst);
105 extern int package_del_instance(struct pkg_info *info, struct inst_info *inst);
106 extern Eina_List *package_instance_list(struct pkg_info *info);
107
108 extern int package_clear_fault(struct pkg_info *info);
109 extern int package_alter_instances_to_client(struct client_node *client, enum alter_type alter);
110
111 extern const Eina_List *package_list(void);
112 extern int const package_fault_count(struct pkg_info *info);
113
114 extern int package_init(void);
115 extern int package_fini(void);
116
117 extern int package_is_enabled(const char *appid);
118 extern int package_faulted(struct pkg_info *info, int broadcast);
119
120 /* End of a file */