2e5c88ffc03b327baeee2fdc558956fbedb7f7b7
[platform/core/api/serial.git] / include / serial_private.h
1 /*
2  * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __TIZEN_NETWORK_SERIAL_PRIVATE_H__
18 #define __TIZEN_NETWORK_SERIAL_PRIVATE_H__
19
20 #include <dbus/dbus-glib.h>
21
22 #include "serial.h"
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 /**
29  * @internal
30  * @brief Serial callback.
31  */
32         typedef struct _serial_event_s {
33                 const void *callback;
34                 void *user_data;
35         } serial_event_s;
36
37  /**
38   * @internal
39   * @brief Serial handle
40   */
41         typedef struct _serial_s {
42                 DBusGConnection *client_bus;
43                 int client_socket;
44                 int g_watch_id;
45                 serial_event_s state_handler;
46                 serial_event_s data_handler;
47                 void *handle;
48         } serial_s;
49
50 /**
51  * @internal
52  * @brief dbus signal from socket server
53  */
54         typedef enum {
55                 SERIAL_CLOSED,                  /* Serial session closed */
56                 SERIAL_OPENED,                  /* Serial session opened */
57         } serial_event_e;
58
59 #ifdef __cplusplus
60 }
61 #endif
62 #endif                                                  /* __TIZEN_NETWORK_SERIAL_PRIVATE_H__ */