2 * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
4 * This program is licensed under the terms and conditions of the
5 * Apache License, version 2.0. The full text of the Apache License is at
6 * http://www.apache.org/licenses/LICENSE-2.0
10 * @brief user experiance library public header file(configuration)
15 #ifndef ICO_UXF_CONF_H_
16 #define ICO_UXF_CONF_H_
19 #include "ico_uxf_conf_def.h"
20 #include "ico_uxf_sysdef.h"
21 #include "ico_uxf_def.h"
22 #include "ico_uxf_typedef.h"
23 #include "ico_apf_log.h"
29 typedef struct _ico_uxf_conf_misc {
30 char topdir[ICO_UXF_CONF_DIR_MAX+1];
31 char confdir[ICO_UXF_CONF_DIR_MAX+1];
37 char *masterhostaddress;
40 short default_categoryId;
41 short default_displayId;
42 short default_layerId;
43 short default_dispzoneId;
44 short default_soundId;
45 short default_soundzoneId;
46 short default_inputdevId;
47 short default_inputswId;
48 int appscontrollerport;
54 typedef struct _ico_uxf_conf_host {
62 typedef struct _ico_uxf_conf_category {
70 short res; /* (unused) */
71 } Ico_Uxf_conf_category;
73 typedef struct _ico_uxf_conf_kind {
80 typedef struct _ico_uxf_conf_appdisplay {
84 short res; /* (unused) */
85 } Ico_Uxf_conf_appdisplay;
87 typedef struct _ico_uxf_conf_appsound {
90 } Ico_Uxf_conf_appsound;
92 typedef struct _ico_uxf_conf_appinput {
95 } Ico_Uxf_conf_appinput;
97 typedef struct _ico_uxf_conf_application {
105 char res[3]; /* (unused) */
111 short displayzoneNum;
114 Ico_Uxf_conf_appdisplay display[ICO_UXF_APPDISPLAY_MAX];
115 Ico_Uxf_conf_appsound sound[ICO_UXF_APPSOUND_MAX];
116 Ico_Uxf_conf_appinput input[ICO_UXF_APPINPUT_MAX];
117 struct _ico_uxf_conf_application *nextidhash;
118 struct _ico_uxf_conf_application *nextnamehash;
119 } Ico_Uxf_conf_application;
121 typedef struct _ico_uxf_conf_display_layer {
124 } Ico_Uxf_conf_display_layer;
126 #define ZONE_MAX_OVERLAP (ICO_UXF_DISPLAY_ZONE_MAX-1)
127 typedef struct _ico_uxf_conf_display_zone {
135 short res; /* (unused) */
136 struct _ico_uxf_conf_display *display;
137 unsigned char overlapNum;
138 unsigned char overlap[ZONE_MAX_OVERLAP];
139 } Ico_Uxf_conf_display_zone;
141 typedef struct _ico_uxf_conf_display {
153 Ico_Uxf_conf_display_layer *layer;
154 Ico_Uxf_conf_display_zone *zone;
155 } Ico_Uxf_conf_display;
157 typedef struct _ico_uxf_conf_sound_zone {
161 short res; /* (unused) */
162 struct _ico_uxf_conf_sound *sound;
163 unsigned char overlapNum;
164 unsigned char overlap[ZONE_MAX_OVERLAP];
165 } Ico_Uxf_conf_sound_zone;
167 typedef struct _ico_uxf_conf_sound {
174 Ico_Uxf_conf_sound_zone *zone;
175 } Ico_Uxf_conf_sound;
177 typedef struct _ico_uxf_conf_inputsw {
178 struct _ico_uxf_conf_inputdev *inputdev;
181 } Ico_Uxf_conf_inputsw;
183 typedef struct _ico_uxf_conf_inputdev {
187 short res; /* (unused) */
188 Ico_Uxf_conf_inputsw *inputsw;
189 } Ico_Uxf_conf_inputdev;
191 typedef struct _ico_uxf_sys_config {
192 Ico_Uxf_conf_misc misc;
199 Ico_Uxf_conf_host *host;
200 Ico_Uxf_conf_category *category;
201 Ico_Uxf_conf_kind *kind;
202 Ico_Uxf_conf_display *display;
203 Ico_Uxf_conf_sound *sound;
204 Ico_Uxf_conf_inputdev *inputdev;
205 } Ico_Uxf_Sys_Config;
207 typedef struct _ico_uxf_app_config {
209 Ico_Uxf_conf_application *application;
210 Ico_Uxf_conf_application *hashidtable[ICO_UXF_MISC_HASHSIZE];
211 Ico_Uxf_conf_application *hashnametable[ICO_UXF_MISC_HASHSIZE];
212 } Ico_Uxf_App_Config;
214 const Ico_Uxf_Sys_Config* ico_uxf_getSysConfig(void);
215 const Ico_Uxf_Sys_Config* ico_uxf_ifGetSysConfig(void);
216 const Ico_Uxf_App_Config* ico_uxf_getAppConfig(void);
218 void ico_uxf_closeSysConfig(void);
219 void ico_uxf_closeAppConfig(void);
221 int ico_uxf_getSysKindByName(const char *skind);
222 int ico_uxf_getSysCategoryByName(const char *scategory);
223 int ico_uxf_getSysHostByName(const char *shost);
224 int ico_uxf_getSysHostTypeByName(const char *stype);
225 int ico_uxf_getSysDisplayByName(const char *sdisplay);
226 int ico_uxf_getSysDispTypeByName(const char *stype);
227 int ico_uxf_getSysLayerByName(const int display, const char *slayer);
228 int ico_uxf_getSysDispZoneByName(const int display, const char *sdispzone);
229 int ico_uxf_getSysSoundByName(const char *ssound);
230 int ico_uxf_getSysSoundZoneByName(const int sound, const char *ssoundzone);
231 int ico_uxf_getSysInputdevByName(const char *sinputdev);
232 int ico_uxf_getSysInputswByName(const int inputdev, const char *sinputsw);
233 int ico_uxf_getSysBoolByName(const char *sbool);
234 int ico_uxf_getAppDisplay(const Ico_Uxf_conf_application *app, const int idx,
235 int *x, int *y, int *width, int *height);
237 const Ico_Uxf_conf_host* ico_uxf_getSysHostById(const int hostId);
238 const Ico_Uxf_conf_application* ico_uxf_getAppByAppid(const char *appid);
239 const Ico_Uxf_conf_application* ico_uxf_getAppByName(const char *name);
240 const Ico_Uxf_conf_category* ico_uxf_getAppCategoryById(const int categoryId);
241 const Ico_Uxf_conf_display* ico_uxf_getSysDisplayById(const int displayId);
242 const char *ico_uxf_get_SysLocation( const int hostId );
244 /* define log macros */
246 #define uifw_debug ICO_UXF_DEBUG
247 #define uifw_trace ICO_UXF_DEBUG
248 #define uifw_critical ICO_UXF_CRITICAL
249 #define uifw_info ICO_UXF_INFO
250 #define uifw_warn ICO_UXF_WARN
251 #define uifw_error ICO_UXF_ERROR
252 #define uifw_logflush ico_uxf_log_flush
253 #endif /*uifw_trace*/
255 void ico_uxf_closeSysConfig(void);
257 #define ICO_UXF_EVENT_WAIT_DEFAULT (0)
258 #define ICO_UXF_EVENT_WAIT_WAYLAND (1)
259 #define ICO_UXF_EVENT_WAIT_WEBSOCKET (2)
260 #define ICO_UXF_EVENT_WAIT_JULIUS (3)
262 #define ICO_UXF_EFFECT_NONE (0)
263 #define ICO_UXF_EFFECT_GRAYOUT (1)
264 #define ICO_UXF_EFFECT_BLACKOUT (2)
265 #define ICO_UXF_EFFECT_INVISIBLE (3)
266 #define ICO_UXF_EFFECT_TERMINATE (4)
271 #endif /* ICO_UXF_CONF_H_ */