adf0cf5fcda23f1dd1b8a3f7aa6302b0a4a08d52
[apps/livebox/data-provider-master.git] / include / conf.h
1 /*
2  * Copyright 2012  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.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.tizenopensource.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 conf {
18         int width;
19         int height;
20
21         int base_width;
22         int base_height;
23         double minimum_period;
24
25         struct {
26                 char *script;
27                 char *abi;
28                 char *pd_group;
29                 double period;
30         } default_conf;
31
32         struct {
33                 char *name;
34                 char *secured;
35                 char *abi;
36         } launch_key;
37
38         double default_packet_time;
39
40         char *empty_content;
41         char *empty_title;
42
43         char *default_content;
44         char *default_title;
45
46         unsigned long minimum_space;
47
48         char *replace_tag;
49
50         double slave_ttl;
51
52         int max_log_line;
53         int max_log_file;
54
55         unsigned long sqlite_flush_max;
56
57         struct {
58                 char *conf;
59                 char *image;
60                 char *script;
61                 char *root;
62                 char *script_port;
63                 char *slave_log;
64                 char *reader;
65                 char *always;
66                 char *db;
67         } path;
68
69         int max_size_type;
70
71         int slave_max_load;
72
73         double ping_time;
74
75         char *vconf_sys_cluster;
76         int max_pended_ctx_events;
77
78         int use_sw_backend;
79         char *provider_method;
80         int debug_mode;
81         int overwrite_content;
82         int com_core_thread;
83 };
84
85 extern struct conf g_conf;
86
87 extern int conf_loader(void);
88
89 #define BASE_W                  g_conf.base_width
90 #define BASE_H                  g_conf.base_height
91
92 #define CR 13
93 #define LF 10
94
95 #define USE_SW_BACKEND          g_conf.use_sw_backend
96 #define PROVIDER_METHOD         g_conf.provider_method
97 #define DEBUG_MODE              g_conf.debug_mode
98 #define OVERWRITE_CONTENT       g_conf.overwrite_content
99 #define COM_CORE_THREAD         g_conf.com_core_thread
100
101 #define MINIMUM_PERIOD          g_conf.minimum_period
102
103 #define DEFAULT_SCRIPT          g_conf.default_conf.script
104 #define DEFAULT_ABI             g_conf.default_conf.abi
105 #define DEFAULT_GROUP           g_conf.default_conf.pd_group
106 #define NO_CHANGE               g_conf.default_conf.period
107 #define DEFAULT_PERIOD          g_conf.default_conf.period
108
109 #define BUNDLE_SLAVE_NAME       g_conf.launch_key.name
110 #define BUNDLE_SLAVE_SECURED    g_conf.launch_key.secured
111 #define BUNDLE_SLAVE_ABI        g_conf.launch_key.abi
112 #define PACKET_TIME             g_conf.default_packet_time
113 #define CONTENT_NO_CHANGE       g_conf.empty_content
114 #define TITLE_NO_CHANGE         g_conf.empty_title
115 #define DEFAULT_TITLE           g_conf.default_title
116 #define DEFAULT_CONTENT         g_conf.default_content
117 #define MINIMUM_SPACE           g_conf.minimum_space
118
119 #define IMAGE_PATH              g_conf.path.image
120 #define SCRIPT_PATH             g_conf.path.script
121 #define SCRIPT_PORT_PATH        g_conf.path.script_port
122 #define CONF_PATH               g_conf.path.conf
123 #define ROOT_PATH               g_conf.path.root
124 #define SLAVE_LOG_PATH          g_conf.path.slave_log
125 #define READER_PATH             g_conf.path.reader
126 #define ALWAYS_PATH             g_conf.path.always
127
128 #define REPLACE_TAG_APPID       g_conf.replace_tag
129 #define SLAVE_TTL               g_conf.slave_ttl
130
131 #define MAX_LOG_LINE            g_conf.max_log_line
132 #define MAX_LOG_FILE            g_conf.max_log_file
133
134 #define SQLITE_FLUSH_MAX        g_conf.sqlite_flush_max
135 #define DBFILE                  g_conf.path.db
136
137 #define SLAVE_MAX_LOAD          g_conf.slave_max_load
138 #define DEFAULT_PING_TIME       g_conf.ping_time
139 #define PAUSED_FILE             "/tmp/.live.paused"
140
141 #define MAX_ABI         256
142 #define MAX_PKGNAME     512
143 #define DELAY_TIME      0.0000001f
144 #define DEFAULT_CLUSTER "user,created"
145 #define MINIMUM_REACTIVATION_TIME       10
146
147 #define HAPI __attribute__((visibility("hidden")))
148
149 /* End of a file */