Updated package changelog.
[profile/ivi/ico-uxf-homescreen.git] / include / ico_uxf_def.h
1 /*
2  * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
3  *
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
7  *
8  */
9 /**
10  * @brief   header file of user experience liblary for HomeScreen(define symbols)
11  *
12  * @date    Feb-28-2013
13  */
14
15 #ifndef _ICO_UXF_DEF_H_
16 #define _ICO_UXF_DEF_H_
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21
22 /* ECU type                                 */
23 #define ICO_UXF_HOSTTYPE_CENTER     0               /* Center display               */
24 #define ICO_UXF_HOSTTYPE_METER      1               /* Meter display                */
25 #define ICO_UXF_HOSTTYPE_REMOTE     2               /* Information device(mobile device)*/
26 #define ICO_UXF_HOSTTYPE_PASSENGER  3               /* Passenger display            */
27 #define ICO_UXF_HOSTTYPE_REAR       4               /* Rear-seat entertainment      */
28 #define ICO_UXF_HOSTTYPE_REARLEFT   5               /* Rear-seat entertainment(Left)*/
29 #define ICO_UXF_HOSTTYPE_REARRIGHT  6               /* Rear-seat entertainment(right)*/
30
31 /* Default DisplayId                        */
32 #define ICO_UXF_DISPLAY_DEFAULT     0               /* Default display              */
33
34 /* Display type                             */
35 #define ICO_UXF_DISPLAYTYPE_CENTER      0           /* Center display               */
36 #define ICO_UXF_DISPLAYTYPE_METER       1           /* Meter display                */
37 #define ICO_UXF_DISPLAYTYPE_REMOTE      2           /* Information device(mobile device)*/
38 #define ICO_UXF_DISPLAYTYPE_PASSENGER   3           /* Passenger display            */
39 #define ICO_UXF_DISPLAYTYPE_REAR        4           /* Rear-seat display            */
40 #define ICO_UXF_DISPLAYTYPE_REARLEFT    5           /* Rear-seat display(left)      */
41 #define ICO_UXF_DISPLAYTYPE_REARRIGHT   6           /* Rear-seat display(right)     */
42
43 /* Window active status                     */
44 #define ICO_UXF_WINDOW_INACTIVE         0           /* not active                   */
45 #define ICO_UXF_WINDOW_POINTER_ACTIVE   1           /* pointer active               */
46 #define ICO_UXF_WINDOW_KEYBOARD_ACTIVE  2           /* keyboard active              */
47 #define ICO_UXF_WINDOW_SELECT           4           /* window selected by operation */
48
49 /* Policy                                   */
50 #define ICO_UXF_POLICY_ALWAYS           0           /* No control                   */
51 #define ICO_UXF_POLICY_RUNNING          1           /* Runnning only                */
52 #define ICO_UXF_POLICY_PARKED           2           /* Parked only                  */
53 #define ICO_UXF_POLICY_SHIFT_PARKING    3           /* Shift-position is park       */
54 #define ICO_UXF_POLICY_SHIFT_REVERSES   4           /* Shift-position is reverses   */
55 #define ICO_UXF_POLICY_BLINKER_LEFT     5           /* Blinker is left              */
56 #define ICO_UXF_POLICY_BLINKER_RIGHT    6           /* Blinker is right             */
57
58 /* Privilege                                */
59 #define ICO_UXF_PRIVILEGE_ALMIGHTY      0           /* almighty privilege           */
60 #define ICO_UXF_PRIVILEGE_SYSTEM        1           /* system level                 */
61 #define ICO_UXF_PRIVILEGE_SYSTEM_AUDIO  2           /* system level(audio only)     */
62 #define ICO_UXF_PRIVILEGE_SYSTEM_VISIBLE 3          /* system level(visible only)   */
63 #define ICO_UXF_PRIVILEGE_MAKER         4           /* maker level                  */
64 #define ICO_UXF_PRIVILEGE_CERTIFICATE   5           /* certificated                 */
65 #define ICO_UXF_PRIVILEGE_NONE          6           /* no privilege                 */
66
67 /* Event values                             */
68 #define ICO_UXF_EVENT_ALL               0xffffffff  /* Mask value of all events     */
69 #define ICO_UXF_EVENT_VISIBLE           0x00000001  /* Change window visibility     */
70 #define ICO_UXF_EVENT_RESIZE            0x00000002  /* Change window position/size  */
71 #define ICO_UXF_EVENT_VISIBLE_REQ       0x00000004  /* Request for window visibility*/
72 #define ICO_UXF_EVENT_RESIZE_REQ        0x00000008  /* request for window position/size*/
73 #define ICO_UXF_EVENT_NEWWINDOW         0x00000010  /* Created new window           */
74 #define ICO_UXF_EVENT_DESTORYWINDOW     0x00000020  /* Destroyed a window           */
75 #define ICO_UXF_EVENT_ACTIVEWINDOW      0x00000040  /* Change window active status  */
76 #define ICO_UXF_EVENT_EXECPROCESS       0x00000100  /* Application started          */
77 #define ICO_UXF_EVENT_TERMPROCESS       0x00000200  /* Application stopped          */
78 #define ICO_UXF_EVENT_EXINPUT           0x00200000  /* extra input event            */
79
80 #define ICO_UXF_EVENT_VALIDALL          0x8020037f  /* Set of the event with a meaning*/
81
82 /* Application status                       */
83 #define ICO_UXF_PROCSTATUS_STOP     0x00000000      /* Stopped                      */
84 #define ICO_UXF_PROCSTATUS_INIT     0x00000001      /* Initializing                 */
85 #define ICO_UXF_PROCSTATUS_RUN      0x00000002      /* Running                      */
86 #define ICO_UXF_PROCSTATUS_TERM     0x00000004      /* Terminating                  */
87
88 /* Window controll hook code                */
89 #define ICO_UXF_HOOK_WINDOW_CREATE_MAIN     0x00    /* created main window          */
90 #define ICO_UXF_HOOK_WINDOW_CREATE_SUB      0x01    /* created sub window           */
91 #define ICO_UXF_HOOK_WINDOW_DESTORY_MAIN    0x10    /* destoryed main window        */
92 #define ICO_UXF_HOOK_WINDOW_DESTORY_SUB     0x11    /* destoryed sub window         */
93
94 /* API return code                          */
95 #define ICO_UXF_EOK             0                   /* OK                           */
96 #define ICO_UXF_EPERM           -1                  /* Operation not permitted      */
97 #define ICO_UXF_ENOENT          -2                  /* No such object               */
98 #define ICO_UXF_ESRCH           -3                  /* Not initialized              */
99 #define ICO_UXF_EIO             -5                  /* I/O(send/receive) error      */
100 #define ICO_UXF_ENXIO           -6                  /* Not exist                    */
101 #define ICO_UXF_E2BIG           -7                  /* Buffer size too smale        */
102 #define ICO_UXF_EBADF           -9                  /* Illegal data type            */
103 #define ICO_UXF_EAGAIN          -11                 /* Try again                    */
104 #define ICO_UXF_ENOMEM          -12                 /* Out of memory                */
105 #define ICO_UXF_EFAULT          -14                 /* Bad address                  */
106 #define ICO_UXF_EBUSY           -16                 /* Not available now            */
107 #define ICO_UXF_EEXIST          -17                 /* Multiple define              */
108 #define ICO_UXF_EINVAL          -22                 /* Invalid argument             */
109 #define ICO_UXF_ENOSYS          -38                 /* System error                 */
110
111 /* AppsControol control flag                */
112 #define ICO_UXF_APPSCTL_INVISIBLE   0x01            /* invisibled by AppsController */
113 #define ICO_UXF_APPSCTL_REGULATION  0x02            /* invisibled by Regulation     */
114 #define ICO_UXF_APPSCTL_TEMPVISIBLE 0x10            /* tempolary visible for menu   */
115
116 /* Log output level                         */
117 #define ICO_UXF_LOGLEVEL_ERROR    4                 /* Error                        */
118 #define ICO_UXF_LOGLEVEL_CRITICAL 8                 /* Critical                     */
119 #define ICO_UXF_LOGLEVEL_WARNING 16                 /* Warning                      */
120 #define ICO_UXF_LOGLEVEL_INFO    64                 /* Information                  */
121 #define ICO_UXF_LOGLEVEL_DEBUG  128                 /* Debug write                  */
122
123 /* Macros for generate hash value               */
124 extern int ico_uxf_misc_hashByName(const char *name);
125 #define ICO_UXF_MISC_HASHSIZE       64      /* Hash table size(must be 2's factorial*/
126 #define ICO_UXF_MISC_HASHBYID(v)        (v & (ICO_UXF_MISC_HASHSIZE-1))
127 #define ICO_UXF_MISC_HASHBYNAME(name)   ico_uxf_misc_hashByName(name)
128
129 #ifdef __cplusplus
130 }
131 #endif
132 #endif  /* _ICO_UXF_DEF_H_ */
133