4 * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Ja-young Gu <jygu@samsung.com>
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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.
30 #define TAPI_SHORT_TIMEOUT (5 * 1000) /* Unlimit: G_MAXINT */
31 #define TAPI_DEFAULT_TIMEOUT (60 * 1000) /* Unlimit: G_MAXINT */
32 #define TAPI_UNRESTRICTED_TIMEOUT (180 * 1000)
34 #define MAKE_RESP_CB_DATA(data,handle,cb,user_data) \
35 if (!handle) { return TAPI_API_INVALID_INPUT; } \
36 data = g_new0(struct tapi_resp_data, 1); \
37 data->handle = handle; \
39 data->user_data = user_data
41 #define CHECK_ERROR(error) \
43 warn("dbus error = %d (%s)", error->code, error->message); \
44 if (error->code == G_IO_ERROR_CANCELLED \
45 && error->domain == G_IO_ERROR) { \
46 /* Do not invoke callback in case of deinit TapiHandle */ \
47 } else if (strstr(error->message, "No access rights")) { \
48 err("Access denied"); \
49 if (evt_cb_data->cb_fn) \
50 evt_cb_data->cb_fn(evt_cb_data->handle, TAPI_ERROR_ACCESS_DENIED, NULL, evt_cb_data->user_data); \
51 } else if (strstr(error->message, "Operation not supported")) { \
52 err("Operation not supported"); \
53 if (evt_cb_data->cb_fn) \
54 evt_cb_data->cb_fn(evt_cb_data->handle, TAPI_ERROR_OPERATION_NOT_SUPPORTED, NULL, evt_cb_data->user_data); \
56 if (evt_cb_data->cb_fn) \
57 evt_cb_data->cb_fn(evt_cb_data->handle, TAPI_ERROR_OPERATION_FAILED, NULL, evt_cb_data->user_data); \
59 g_error_free(error); \
60 g_free(evt_cb_data); \
64 #define CALLBACK_CALL(data) \
65 if (evt_cb_data->cb_fn) { \
66 evt_cb_data->cb_fn (handle, noti_id, (data), evt_cb_data->user_data); \
70 gpointer dbus_connection;
77 GHashTable *cache_property;
78 guint prop_callback_evt_id;
81 struct tapi_resp_data {
82 tapi_response_cb cb_fn;
84 struct tapi_handle *handle;
89 tapi_notification_cb cb_fn;
91 struct tapi_handle *handle;
95 const char *signal_name;
96 void (*callback)(TapiHandle *handle, GVariant *param, char *noti_id,
97 struct tapi_evt_cb *evt_cb_data);
100 void _process_network_event(const gchar *sig, GVariant *param,
101 TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data);
105 #endif /* _TAPI_COMMON_H_ */