Remove last trailing comma
[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 lb_type {
18         LB_TYPE_NONE = 0x0,
19         LB_TYPE_SCRIPT,
20         LB_TYPE_FILE,
21         LB_TYPE_TEXT,
22         LB_TYPE_BUFFER
23 };
24
25 enum pd_type {
26         PD_TYPE_NONE = 0x0,
27         PD_TYPE_SCRIPT,
28         PD_TYPE_TEXT,
29         PD_TYPE_BUFFER
30 };
31
32 enum alter_type {
33         ALTER_CREATE,
34         ALTER_DESTROY
35 };
36
37 struct pkg_info;
38 struct inst_info;
39 struct context_info;
40 struct slave_node;
41
42 /*!
43  * \brief
44  * Construction & Destruction
45  */
46 extern struct pkg_info *package_create(const char *pkgname);
47 extern int package_destroy(struct pkg_info *info);
48 extern char *package_lb_pkgname(const char *pkgname);
49 extern int package_is_lb_pkgname(const char *pkgname);
50 extern struct pkg_info *package_find(const char *pkgname);
51 extern const char *package_find_by_secured_slave(struct slave_node *slave);
52 extern struct inst_info *package_find_instance_by_id(const char *pkgname, const char *id);
53 extern struct inst_info *package_find_instance_by_timestamp(const char *pkgname, double timestamp);
54 extern int package_dump_fault_info(struct pkg_info *info);
55 extern int package_set_fault_info(struct pkg_info *info, double timestamp, const char *filename, const char *function);
56 extern int package_get_fault_info(struct pkg_info *info, double *timestmap, const char **filename, const char **function);
57
58 /*!
59  * \brief
60  * Readonly functions
61  */
62 extern const int const package_is_fault(const struct pkg_info *info);
63 extern struct slave_node * const package_slave(const struct pkg_info *info);
64 extern const int const package_timeout(const struct pkg_info *info);
65 extern const double const package_period(const struct pkg_info *info);
66 extern const int const package_secured(const struct pkg_info *info);
67 extern const char * const package_script(const struct pkg_info *info);
68 extern const char * const package_abi(const struct pkg_info *info);
69 extern const char * const package_lb_path(const struct pkg_info *info);
70 extern const char * const package_lb_group(const struct pkg_info *info);
71 extern const char * const package_pd_path(const struct pkg_info *info);
72 extern const char * const package_pd_group(const struct pkg_info *info);
73 extern const int const package_pinup(const struct pkg_info *info);
74 extern const char * const package_auto_launch(const struct pkg_info *info);
75 extern const unsigned int const package_size_list(const struct pkg_info *info);
76 extern const int const package_pd_width(const struct pkg_info *info);
77 extern const int const package_pd_height(const struct pkg_info *info);
78 extern const char * const package_name(const struct pkg_info *info);
79 extern const char * const package_libexec(struct pkg_info *info);
80 extern int package_network(struct pkg_info *info);
81 extern Eina_List *package_ctx_info(struct pkg_info *pkginfo);
82
83 extern int package_set_libexec(struct pkg_info *info, const char *libexec);
84 extern void package_set_pinup(struct pkg_info *info, int pinup);
85 extern void package_set_auto_launch(struct pkg_info *info, const char *auto_launch);
86 extern void package_set_size_list(struct pkg_info *info, unsigned int size_list);
87 extern void package_set_lb_type(struct pkg_info *info, enum lb_type type);
88 extern void package_set_pd_type(struct pkg_info *info, enum pd_type type);
89 extern int package_set_lb_group(struct pkg_info *info, const char *group);
90 extern int package_set_lb_path(struct pkg_info *info, const char *path);
91 extern int package_set_pd_group(struct pkg_info *info, const char *group);
92 extern int package_set_pd_path(struct pkg_info *info, const char *path);
93 extern int package_set_script(struct pkg_info *info, const char *script);
94 extern void package_set_secured(struct pkg_info *info, int secured);
95 extern void package_set_period(struct pkg_info *info, double period);
96 extern void package_set_timeout(struct pkg_info *info, int timeout);
97 extern void package_set_network(struct pkg_info *info, int network);
98 extern void package_set_pd_height(struct pkg_info *info, int height);
99 extern void package_set_pd_width(struct pkg_info *info, int width);
100 extern int package_set_abi(struct pkg_info *info, const char *abi);
101 extern void package_add_ctx_info(struct pkg_info *pkginfo, struct context_info *info);
102 extern void package_del_ctx_info(struct pkg_info *pkginfo, struct context_info *info);
103
104 /*!
105  * \brief
106  * Reference counter
107  */
108 extern struct pkg_info * const package_ref(struct pkg_info *info);
109 extern struct pkg_info * const package_unref(struct pkg_info *info);
110 extern const int const package_refcnt(const struct pkg_info *info);
111
112 extern const enum pd_type const package_pd_type(const struct pkg_info *info);
113 extern const enum lb_type const package_lb_type(const struct pkg_info *info);
114
115 extern int package_add_instance(struct pkg_info *info, struct inst_info *inst);
116 extern int package_del_instance(struct pkg_info *info, struct inst_info *inst);
117 extern Eina_List *package_instance_list(struct pkg_info *info);
118
119 extern int package_clear_fault(struct pkg_info *info);
120 extern int package_alter_instances_to_client(struct client_node *client, enum alter_type alter);
121
122 extern const Eina_List *package_list(void);
123 extern int const package_fault_count(struct pkg_info *info);
124
125 extern int package_init(void);
126 extern int package_fini(void);
127
128 extern int package_is_enabled(const char *appid);
129
130 /* End of a file */