e58d67f7140ce797c4547e32ee3797148124b8b4
[profile/ivi/ico-uxf-homescreen.git] / include / ico_syc_private.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 System Controller internal definition
11  *
12  * @date    Sep-4-2013
13  */
14
15 #ifndef _ICO_SYC_PRIVATE_H_
16 #define _ICO_SYC_PRIVATE_H_
17
18 #include <stdio.h>
19 #include <stdlib.h>
20
21 #include <ico_uws.h>
22
23 #include "ico_syc_type.h"
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 /*============================================================================*/
30 /* definition                                                                 */
31 /*============================================================================*/
32 /*
33  * uri and protocol
34  */
35 #define ICO_SYC_URI             (char *)"ws://127.0.0.1:18081"
36 #define ICO_SYC_PROTOCOL        (char *)"ico_syc_protocol"
37
38 #define ICO_SYC_MAX_LEN         128
39
40 /*============================================================================*/
41 /* variable & table                                                           */
42 /*============================================================================*/
43 struct ico_syc_res_context {
44     char                    appid[ICO_SYC_MAX_LEN];
45     /* window resource */
46     ico_syc_res_window_t    *window;
47     /* sound resource */
48     ico_syc_res_sound_t     *sound;
49     /* input resource */
50     ico_syc_res_input_t     *input;
51
52     /* window and sound resource type (basic or interruption) */
53     int                     type;
54 };
55
56 /*============================================================================*/
57 /* internal function (common)                                                 */
58 /*============================================================================*/
59 /*--------------------------------------------------------------------------*/
60 /**
61  * @internal
62  * @brief   ico_syc_get_context
63  *          Get the ico_uws context connected to System Controller.
64  *
65  * @return      uws_context
66  * @retval      context                 success
67  * @retval      NULL                    error
68  */
69 /*--------------------------------------------------------------------------*/
70 struct ico_uws_context *ico_syc_get_context(void);
71
72 /*--------------------------------------------------------------------------*/
73 /**
74  * @internal
75  * @brief   ico_syc_get_id
76  *          Get the ico_uws id to send message to System Controller.
77  *
78  * @return      uws_id
79  * @retval      id                      success
80  * @retval      NULL                    error
81  */
82 /*--------------------------------------------------------------------------*/
83 void *ico_syc_get_id(void);
84
85 /*--------------------------------------------------------------------------*/
86 /**
87  * @internal
88  * @brief   ico_syc_get_appid
89  *          Get the application id.
90  *
91  * @return      appid
92  * @retval      appid                   success
93  * @retval      NULL                    error
94  */
95 /*--------------------------------------------------------------------------*/
96 char *ico_syc_get_appid(void);
97
98 /*============================================================================*/
99 /* internal function (winctl)                                                 */
100 /*============================================================================*/
101 /*--------------------------------------------------------------------------*/
102 /**
103  * @internal
104  * @brief   ico_syc_cb_win
105  *          Execute callback function. (ICO_SYC_EV_WIN_ACTIVE
106  *                                      ICO_SYC_EV_WIN_CREATE
107  *                                      ICO_SYC_EV_WIN_DESTROY)
108  *
109  * @param[in]   callback                callback function
110  * @param[in]   user_data               passed data on called callback function
111  * @param[in]   event                   event code
112  * @param[in]   data                    message data
113  * @param[in]   len                     length of data
114  * @return      none
115  */
116 /*--------------------------------------------------------------------------*/
117 void ico_syc_cb_win(ico_syc_callback_t callback, void *user_data,
118                     int event, const void *data, size_t len);
119
120 /*--------------------------------------------------------------------------*/
121 /**
122  * @internal
123  * @brief   ico_syc_cb_win_attr
124  *          Execute callback function. (ICO_SYC_EV_WIN_ATTR_CHANGE)
125  *
126  * @param[in]   callback                callback function
127  * @param[in]   user_data               passed data on called callback function
128  * @param[in]   event                   event code
129  * @param[in]   data                    message data
130  * @param[in]   len                     length of data
131  * @return      none
132  */
133 /*--------------------------------------------------------------------------*/
134 void ico_syc_cb_win_attr(ico_syc_callback_t callback, void *user_data,
135                          int event, const void *data, size_t len);
136
137 /*--------------------------------------------------------------------------*/
138 /**
139  * @internal
140  * @brief   ico_syc_cb_thumb
141  *          Execute callback function. (ICO_SYC_EV_THUMB_ERROR
142  *                                      ICO_SYC_EV_THUMB_CHANGE
143  *                                      ICO_SYC_EV_THUMB_UNMAP)
144  *
145  * @param[in]   callback                callback function
146  * @param[in]   user_data               passed data on called callback function
147  * @param[in]   event                   event code
148  * @param[in]   data                    message data
149  * @param[in]   len                     length of data
150  * @return      none
151  */
152 /*--------------------------------------------------------------------------*/
153 void ico_syc_cb_thumb(ico_syc_callback_t callback, void *user_data,
154                       int event, const void *data, size_t len);
155
156 /*--------------------------------------------------------------------------*/
157 /**
158  * @internal
159  * @brief   ico_syc_cb_layer
160  *          Execute callback function. (ICO_SYC_EV_LAYER_ATTR_CHANGE)
161  *
162  * @param[in]   callback                callback function
163  * @param[in]   user_data               passed data on called callback function
164  * @param[in]   event                   event code
165  * @param[in]   data                    message data
166  * @param[in]   len                     length of data
167  * @return      none
168  */
169 /*--------------------------------------------------------------------------*/
170 void ico_syc_cb_layer(ico_syc_callback_t callback, void *user_data,
171                       int event, const void *data, size_t len);
172
173 /*============================================================================*/
174 /* internal function (userctl)                                                */
175 /*============================================================================*/
176 /*--------------------------------------------------------------------------*/
177 /**
178  * @internal
179  * @brief   ico_syc_cb_auth
180  *          Execute callback function. (ICO_SYC_EV_AUTH_FAIL)
181  *
182  * @param[in]   callback                callback function
183  * @param[in]   user_data               passed data on called callback function
184  * @param[in]   event                   event code
185  * @return      none
186  */
187 /*--------------------------------------------------------------------------*/
188 void ico_syc_cb_auth(ico_syc_callback_t callback, void *user_data, int event);
189
190 /*--------------------------------------------------------------------------*/
191 /**
192  * @internal
193  * @brief   ico_syc_cb_userlist
194  *          Execute callback function. (ICO_SYC_EV_USERLIST)
195  *
196  * @param[in]   callback                callback function
197  * @param[in]   user_data               passed data on called callback function
198  * @param[in]   event                   event code
199  * @param[in]   data                    message data
200  * @param[in]   len                     length of data
201  * @return      none
202  */
203 /*--------------------------------------------------------------------------*/
204 void ico_syc_cb_userlist(ico_syc_callback_t callback, void *user_data,
205                          int event, const void *data, size_t len);
206
207 /*--------------------------------------------------------------------------*/
208 /**
209  * @internal
210  * @brief   ico_syc_cb_lastinfo
211  *          Execute callback function. (ICO_SYC_EV_LASTINFO)
212  *
213  * @param[in]   callback                callback function
214  * @param[in]   user_data               passed data on called callback function
215  * @param[in]   event                   event code
216  * @param[in]   data                    message data
217  * @param[in]   len                     length of data
218  * @return      none
219  */
220 /*--------------------------------------------------------------------------*/
221 void ico_syc_cb_lastinfo(ico_syc_callback_t callback, void *user_data,
222                          int event, const void *data, size_t len);
223
224 /*============================================================================*/
225 /* internal function (appresctl)                                              */
226 /*============================================================================*/
227 /*--------------------------------------------------------------------------*/
228 /**
229  * @internal
230  * @brief   ico_syc_cb_res
231  *          Execute callback function. (ICO_SYC_EV_RES_ACQUIRE
232  *                                      ICO_SYC_EV_RES_DEPRIVE
233  *                                      ICO_SYC_EV_RES_WAITING
234  *                                      ICO_SYC_EV_RES_REVERT
235  *                                      ICO_SYC_EV_RES_RELEASE)
236  *
237  * @param[in]   callback                callback function
238  * @param[in]   user_data               passed data on called callback function
239  * @param[in]   event                   event code
240  * @param[in]   data                    message data
241  * @param[in]   len                     length of data
242  * @return      none
243  */
244 /*--------------------------------------------------------------------------*/
245 void ico_syc_cb_res(ico_syc_callback_t callback, void *user_data,
246                     int event, const void *data, size_t len);
247
248 /*--------------------------------------------------------------------------*/
249 /**
250  * @internal
251  * @brief   ico_syc_cb_region
252  *          Execute callback function. (ICO_SYC_EV_INPUT_SET
253  *                                      ICO_SYC_EV_INPUT_UNSET)
254  *
255  * @param[in]   callback                callback function
256  * @param[in]   user_data               passed data on called callback function
257  * @param[in]   event                   event code
258  * @param[in]   data                    message data
259  * @param[in]   len                     length of data
260  * @return      none
261  */
262 /*--------------------------------------------------------------------------*/
263 void ico_syc_cb_region(ico_syc_callback_t callback, void *user_data,
264                        int event, const void *data, size_t len);
265
266
267 /*============================================================================*/
268 /* log macro                                                                  */
269 /*============================================================================*/
270 #ifndef  _NO_USE_DLOG
271
272 #ifdef LOG_TAG
273 #undef LOG_TAG
274 #endif
275
276 #define LOG_TAG "ICO_SYC"
277 #include <dlog/dlog.h>
278
279 #define _ERR(fmt, arg...)                                       \
280     do {                                                        \
281         fprintf(stderr,                                         \
282                 "ico_syc E: %s:%d [ "fmt" ]\n",                 \
283                 __FUNCTION__,                                   \
284                 __LINE__,                                       \
285                 ##arg);                                         \
286         LOGE("%s:%d " fmt, __FUNCTION__, __LINE__, ##arg);      \
287     } while (0)
288
289 #define _WARN(fmt, arg...)                                      \
290     do {                                                        \
291         fprintf(stderr,                                         \
292                 "ico_syc W: %s:%d [ "fmt" ]\n",                 \
293                 __FUNCTION__,                                   \
294                 __LINE__,                                       \
295                 ##arg);                                         \
296         LOGW("%s:%d " fmt, __FUNCTION__, __LINE__, ##arg);      \
297     } while (0)
298
299 #define _INFO(fmt, arg...)                                      \
300     do {                                                        \
301         fprintf(stderr,                                         \
302                 "ico_syc I: %s:%d [ "fmt" ]\n",                 \
303                 __FUNCTION__,                                   \
304                 __LINE__,                                       \
305                 ##arg);                                         \
306         LOGI("%s:%d " fmt, __FUNCTION__, __LINE__, ##arg);      \
307     } while (0)
308
309 #define _DBG(fmt, arg...)                                       \
310     do {                                                        \
311         LOGD("%s:%d " fmt, __FUNCTION__, __LINE__, ##arg);      \
312     } while (0)
313
314 #else
315
316 #define _ERR(fmt, arg...)                                       \
317     do {                                                        \
318         fprintf(stderr,                                         \
319                 "ico_syc E: %s:%d [ "fmt" ]\n",                 \
320                 __FUNCTION__,                                   \
321                 __LINE__,                                       \
322                 ##arg);                                         \
323     } while (0)
324
325 #define _WARN(fmt, arg...)                                      \
326     do {                                                        \
327         fprintf(stderr,                                         \
328                 "ico_syc W: %s:%d [ "fmt" ]\n",                 \
329                 __FUNCTION__,                                   \
330                 __LINE__,                                       \
331                 ##arg);                                         \
332     } while (0)
333
334
335 #define _INFO(fmt, arg...)                                      \
336     do {                                                        \
337         fprintf(stderr,                                         \
338                 "ico_syc I: %s:%d [ "fmt" ]\n",                 \
339                 __FUNCTION__,                                   \
340                 __LINE__,                                       \
341                 ##arg);                                         \
342     } while (0)
343
344 #define _DBG(fmt, arg...)                                       \
345     do {                                                        \
346         if (getenv("ICO_SYC_DEBUG")) {                          \
347             fprintf(stderr,                                     \
348                     "ico_syc D: %s:%d [ "fmt" ]\n",             \
349                     __FUNCTION__,                               \
350                     __LINE__,                                   \
351                     ##arg);                                     \
352         }                                                       \
353     } while (0)
354
355 #endif
356
357
358 #ifdef __cplusplus
359 }
360 #endif
361 #endif /*_ICO_SYC_PRIVATE_H_*/
362 /* vim:set expandtab ts=4 sw=4: */