785bc8881f7187ee3c34c037eb3578df4917f2a0
[framework/telephony/tel-plugin-socket_communicator.git] / common / include / sipc_type.h
1 /*
2  * tel-plugin-socket-communicator
3  *
4  * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Ja-young Gu <jygu@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 #ifndef __SIPC_TYPE_H__
22 #define __SIPC_TYPE_H__
23
24 __BEGIN_DECLS
25
26 #include <glib.h>
27 #include <glib-object.h>
28
29 typedef enum {
30         SIPC_CHANNEL_TYPE_TX = 0x01,
31         SIPC_CHANNEL_TYPE_RX,
32 } sipc_channel_type_e;
33
34 typedef enum {
35         SIPC_SEND_DATA_SYNC = 0x01,
36         SIPC_SEND_DATA_ASYNC,
37         SIPC_SEND_DATA_BROADCAST,
38         SIPC_REGISTER_CHANNEL,
39         SIPC_DEREGISTER_CHANNEL,
40
41         SIPC_ACK_SUCCESS,
42         SIPC_ACK_FAIL,
43 } sipc_command_e;
44
45 typedef enum {
46         SIPC_DATA_TYPE_SYNC = 0x01,
47         SIPC_DATA_TYPE_ASYNC,
48 } sipc_data_type_e;
49
50 typedef enum {
51         SIPC_ENCODING_TYPE,
52 } sipc_encoding_type_e;
53
54 typedef enum {
55         SIPC_MARSHAL_DATA_CHAR_TYPE = G_TYPE_CHAR,
56         SIPC_MARSHAL_DATA_BOOLEAN_TYPE = G_TYPE_BOOLEAN,
57         SIPC_MARSHAL_DATA_INT_TYPE = G_TYPE_INT,
58         SIPC_MARSHAL_DATA_DOUBLE_TYPE = G_TYPE_DOUBLE,
59         SIPC_MARSHAL_DATA_STRING_TYPE = G_TYPE_STRING,
60         SIPC_MARSHAL_DATA_OBJECT_TYPE = G_TYPE_BOXED,
61         SIPC_MARSHAL_DATA_STRING_MAX = 0xFF,
62 } sipc_marshal_data_type_e;
63
64 typedef int(*sipc_cb)( unsigned int id, void *inparam, unsigned int inparam_len, void** outparam, void *cb_data );
65
66 typedef struct {
67         sipc_cb func;
68         void *data;
69 } sipc_callback_t;
70
71
72 __END_DECLS
73
74 #endif
75