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 {
108 unsigned short invisiblecpu;
111 short displayzoneNum;
115 Ico_Uxf_conf_appdisplay display[ICO_UXF_APPDISPLAY_MAX];
116 Ico_Uxf_conf_appsound sound[ICO_UXF_APPSOUND_MAX];
117 Ico_Uxf_conf_appinput input[ICO_UXF_APPINPUT_MAX];
118 struct _ico_uxf_conf_application *nextidhash;
119 struct _ico_uxf_conf_application *nextnamehash;
120 } Ico_Uxf_conf_application;
122 typedef struct _ico_uxf_conf_display_layer {
125 } Ico_Uxf_conf_display_layer;
127 #define ZONE_MAX_OVERLAP (ICO_UXF_DISPLAY_ZONE_MAX-1)
128 typedef struct _ico_uxf_conf_display_zone {
136 short res; /* (unused) */
137 struct _ico_uxf_conf_display *display;
138 unsigned char overlapNum;
139 unsigned char overlap[ZONE_MAX_OVERLAP];
140 } Ico_Uxf_conf_display_zone;
142 typedef struct _ico_uxf_conf_display {
154 Ico_Uxf_conf_display_layer *layer;
155 Ico_Uxf_conf_display_zone *zone;
156 } Ico_Uxf_conf_display;
158 typedef struct _ico_uxf_conf_sound_zone {
162 short res; /* (unused) */
163 struct _ico_uxf_conf_sound *sound;
164 unsigned char overlapNum;
165 unsigned char overlap[ZONE_MAX_OVERLAP];
166 } Ico_Uxf_conf_sound_zone;
168 typedef struct _ico_uxf_conf_sound {
175 Ico_Uxf_conf_sound_zone *zone;
176 } Ico_Uxf_conf_sound;
178 typedef struct _ico_uxf_conf_inputsw {
179 struct _ico_uxf_conf_inputdev *inputdev;
182 } Ico_Uxf_conf_inputsw;
184 typedef struct _ico_uxf_conf_inputdev {
188 short res; /* (unused) */
189 Ico_Uxf_conf_inputsw *inputsw;
190 } Ico_Uxf_conf_inputdev;
192 typedef struct _ico_uxf_sys_config {
193 Ico_Uxf_conf_misc misc;
200 Ico_Uxf_conf_host *host;
201 Ico_Uxf_conf_category *category;
202 Ico_Uxf_conf_kind *kind;
203 Ico_Uxf_conf_display *display;
204 Ico_Uxf_conf_sound *sound;
205 Ico_Uxf_conf_inputdev *inputdev;
206 } Ico_Uxf_Sys_Config;
208 typedef struct _ico_uxf_app_config {
211 Ico_Uxf_conf_application *application;
212 Ico_Uxf_conf_application *hashidtable[ICO_UXF_MISC_HASHSIZE];
213 Ico_Uxf_conf_application *hashnametable[ICO_UXF_MISC_HASHSIZE];
214 } Ico_Uxf_App_Config;
216 typedef void (*Ico_Uxf_AppUpdata_Cb)(const char *appid, int type);
218 const Ico_Uxf_Sys_Config* ico_uxf_getSysConfig(void);
219 const Ico_Uxf_Sys_Config* ico_uxf_ifGetSysConfig(void);
220 const Ico_Uxf_App_Config* ico_uxf_getAppConfig(void);
222 void ico_uxf_closeSysConfig(void);
223 void ico_uxf_closeAppConfig(void);
225 int ico_uxf_getSysKindByName(const char *skind);
226 int ico_uxf_getSysCategoryByName(const char *scategory);
227 int ico_uxf_getSysHostByName(const char *shost);
228 int ico_uxf_getSysHostTypeByName(const char *stype);
229 int ico_uxf_getSysDisplayByName(const char *sdisplay);
230 int ico_uxf_getSysDispTypeByName(const char *stype);
231 int ico_uxf_getSysLayerByName(const int display, const char *slayer);
232 int ico_uxf_getSysDispZoneByName(const int display, const char *sdispzone);
233 int ico_uxf_getSysSoundByName(const char *ssound);
234 int ico_uxf_getSysSoundZoneByName(const int sound, const char *ssoundzone);
235 int ico_uxf_getSysInputdevByName(const char *sinputdev);
236 int ico_uxf_getSysInputswByName(const int inputdev, const char *sinputsw);
237 int ico_uxf_getSysBoolByName(const char *sbool);
238 int ico_uxf_getAppDisplay(const Ico_Uxf_conf_application *app, const int idx,
239 int *x, int *y, int *width, int *height);
241 const Ico_Uxf_conf_host* ico_uxf_getSysHostById(const int hostId);
242 const Ico_Uxf_conf_application* ico_uxf_getAppByAppid(const char *appid);
243 const Ico_Uxf_conf_application* ico_uxf_getAppByName(const char *name);
244 const Ico_Uxf_conf_category* ico_uxf_getAppCategoryById(const int categoryId);
245 const Ico_Uxf_conf_display* ico_uxf_getSysDisplayById(const int displayId);
246 const char *ico_uxf_get_SysLocation( const int hostId );
248 int ico_uxf_conf_setAppUpdateCb(Ico_Uxf_AppUpdata_Cb func);
250 /* define log macros */
252 #define uifw_debug ICO_UXF_DEBUG
253 #define uifw_trace ICO_UXF_DEBUG
254 #define uifw_critical ICO_UXF_CRITICAL
255 #define uifw_info ICO_UXF_INFO
256 #define uifw_warn ICO_UXF_WARN
257 #define uifw_error ICO_UXF_ERROR
258 #define uifw_logflush ico_uxf_log_flush
259 #endif /*uifw_trace*/
261 void ico_uxf_closeSysConfig(void);
263 #define ICO_UXF_CONF_EVENT_INSTALL (0)
264 #define ICO_UXF_CONF_EVENT_UNINSTALL (1)
269 #endif /* ICO_UXF_CONF_H_ */