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 {
107 short animation_time;
113 unsigned short invisiblecpu;
116 short displayzoneNum;
119 Ico_Uxf_conf_appdisplay display[ICO_UXF_APPDISPLAY_MAX];
120 Ico_Uxf_conf_appsound sound[ICO_UXF_APPSOUND_MAX];
121 Ico_Uxf_conf_appinput input[ICO_UXF_APPINPUT_MAX];
122 struct _ico_uxf_conf_application *nextidhash;
123 struct _ico_uxf_conf_application *nextnamehash;
124 } Ico_Uxf_conf_application;
126 typedef struct _ico_uxf_conf_display_layer {
130 char res[3]; /* (unused) */
131 } Ico_Uxf_conf_display_layer;
133 #define ZONE_MAX_OVERLAP (ICO_UXF_DISPLAY_ZONE_MAX-1)
134 typedef struct _ico_uxf_conf_display_zone {
143 struct _ico_uxf_conf_display *display;
144 unsigned char overlapNum;
145 unsigned char overlap[ZONE_MAX_OVERLAP];
146 } Ico_Uxf_conf_display_zone;
148 typedef struct _ico_uxf_conf_display {
160 Ico_Uxf_conf_display_layer *layer;
161 Ico_Uxf_conf_display_zone *zone;
162 } Ico_Uxf_conf_display;
164 typedef struct _ico_uxf_conf_sound_zone {
168 short res; /* (unused) */
169 struct _ico_uxf_conf_sound *sound;
170 unsigned char overlapNum;
171 unsigned char overlap[ZONE_MAX_OVERLAP];
172 } Ico_Uxf_conf_sound_zone;
174 typedef struct _ico_uxf_conf_sound {
181 Ico_Uxf_conf_sound_zone *zone;
182 } Ico_Uxf_conf_sound;
184 typedef struct _ico_uxf_conf_inputsw {
185 struct _ico_uxf_conf_inputdev *inputdev;
189 } Ico_Uxf_conf_inputsw;
191 typedef struct _ico_uxf_conf_inputdev {
195 short res; /* (unused) */
196 Ico_Uxf_conf_inputsw *inputsw;
197 } Ico_Uxf_conf_inputdev;
199 typedef struct _ico_uxf_sys_config {
200 Ico_Uxf_conf_misc misc;
207 Ico_Uxf_conf_host *host;
208 Ico_Uxf_conf_category *category;
209 Ico_Uxf_conf_kind *kind;
210 Ico_Uxf_conf_display *display;
211 Ico_Uxf_conf_sound *sound;
212 Ico_Uxf_conf_inputdev *inputdev;
213 } Ico_Uxf_Sys_Config;
215 typedef struct _ico_uxf_app_config {
218 Ico_Uxf_conf_application *application;
219 Ico_Uxf_conf_application *hashidtable[ICO_UXF_MISC_HASHSIZE];
220 Ico_Uxf_conf_application *hashnametable[ICO_UXF_MISC_HASHSIZE];
221 } Ico_Uxf_App_Config;
223 typedef void (*Ico_Uxf_AppUpdata_Cb)(const char *appid, int type);
225 const Ico_Uxf_Sys_Config* ico_uxf_getSysConfig(void);
226 const Ico_Uxf_Sys_Config* ico_uxf_ifGetSysConfig(void);
227 const Ico_Uxf_App_Config* ico_uxf_getAppConfig(void);
229 void ico_uxf_closeSysConfig(void);
230 void ico_uxf_closeAppConfig(void);
232 int ico_uxf_getSysKindByName(const char *skind);
233 int ico_uxf_getSysCategoryByName(const char *scategory);
234 int ico_uxf_getSysHostByName(const char *shost);
235 int ico_uxf_getSysHostTypeByName(const char *stype);
236 int ico_uxf_getSysDisplayByName(const char *sdisplay);
237 int ico_uxf_getSysDispTypeByName(const char *stype);
238 int ico_uxf_getSysLayerByName(const int display, const char *slayer);
239 int ico_uxf_getSysDispZoneByName(const int display, const char *sdispzone);
240 int ico_uxf_getSysSoundByName(const char *ssound);
241 int ico_uxf_getSysSoundZoneByName(const int sound, const char *ssoundzone);
242 int ico_uxf_getSysInputdevByName(const char *sinputdev);
243 int ico_uxf_getSysInputswByName(const int inputdev, const char *sinputsw);
244 int ico_uxf_getSysBoolByName(const char *sbool);
245 int ico_uxf_getAppDisplay(const Ico_Uxf_conf_application *app, const int idx,
246 int *x, int *y, int *width, int *height);
248 const Ico_Uxf_conf_host* ico_uxf_getSysHostById(const int hostId);
249 const Ico_Uxf_conf_application* ico_uxf_getAppByAppid(const char *appid);
250 const Ico_Uxf_conf_application* ico_uxf_getAppByName(const char *name);
251 const Ico_Uxf_conf_category* ico_uxf_getAppCategoryById(const int categoryId);
252 const Ico_Uxf_conf_display* ico_uxf_getSysDisplayById(const int displayId);
253 const char *ico_uxf_get_SysLocation( const int hostId );
255 int ico_uxf_conf_setAppUpdateCb(Ico_Uxf_AppUpdata_Cb func);
257 /* define log macros */
259 #define uifw_debug ICO_UXF_DEBUG
260 #define uifw_trace ICO_UXF_DEBUG
261 #define uifw_critical ICO_UXF_CRITICAL
262 #define uifw_info ICO_UXF_INFO
263 #define uifw_warn ICO_UXF_WARN
264 #define uifw_error ICO_UXF_ERROR
265 #define uifw_logflush ico_uxf_log_flush
266 #endif /*uifw_trace*/
268 void ico_uxf_closeSysConfig(void);
270 #define ICO_UXF_CONF_EVENT_INSTALL (0)
271 #define ICO_UXF_CONF_EVENT_UNINSTALL (1)
276 #endif /* ICO_UXF_CONF_H_ */