* e_dbus: Use eina_log.
[framework/uifw/edbus.git] / src / lib / connman / e_connman_private.h
1 #include <Eina.h>
2 #include <eina_safety_checks.h>
3
4 #include "E_Connman.h"
5 #include <stdio.h>
6
7 static const char manager_path[] = "/";
8
9 extern const char *e_connman_iface_manager;
10 extern const char *e_connman_iface_network;
11 extern const char *e_connman_iface_profile;
12 extern const char *e_connman_iface_service;
13 extern const char *e_connman_iface_device;
14 extern const char *e_connman_iface_connection;
15
16 extern const char *e_connman_prop_available;
17 extern const char *e_connman_prop_connected;
18 extern const char *e_connman_prop_connections;
19 extern const char *e_connman_prop_default;
20 extern const char *e_connman_prop_device;
21 extern const char *e_connman_prop_devices;
22 extern const char *e_connman_prop_interface;
23 extern const char *e_connman_prop_ipv4_address;
24 extern const char *e_connman_prop_ipv4_method;
25 extern const char *e_connman_prop_name;
26 extern const char *e_connman_prop_network;
27 extern const char *e_connman_prop_networks;
28 extern const char *e_connman_prop_offline_mode;
29 extern const char *e_connman_prop_policy;
30 extern const char *e_connman_prop_powered;
31 extern const char *e_connman_prop_priority;
32 extern const char *e_connman_prop_profiles;
33 extern const char *e_connman_prop_remember;
34 extern const char *e_connman_prop_scan_interval;
35 extern const char *e_connman_prop_scanning;
36 extern const char *e_connman_prop_state;
37 extern const char *e_connman_prop_strengh;
38 extern const char *e_connman_prop_type;
39 extern const char *e_connman_prop_wifi_mode;
40 extern const char *e_connman_prop_wifi_passphrase;
41 extern const char *e_connman_prop_wifi_security;
42 extern const char *e_connman_prop_wifi_ssid;
43 extern int _e_dbus_connman_log_dom;
44
45 #undef DBG
46 #undef INF
47 #undef WRN
48 #undef ERR
49
50 #define DBG(...) EINA_LOG_DOM_DBG(_e_dbus_connman_log_dom , __VA_ARGS__)
51 #define INF(...) EINA_LOG_DOM_INFO(_e_dbus_connman_log_dom , __VA_ARGS__)
52 #define WRN(...) EINA_LOG_DOM_WARN(_e_dbus_connman_log_dom , __VA_ARGS__)
53 #define ERR(...) EINA_LOG_DOM_ERR(_e_dbus_connman_log_dom , __VA_ARGS__)
54
55 static inline bool
56 __dbus_callback_check_and_init(const char *file, int line, const char *function, DBusMessage *msg, DBusMessageIter *itr, DBusError *err)
57 {
58    if (!msg)
59      {
60         if (err)
61           ERROR(file, function, line,
62                 "an error was reported by server: "
63                 "name=\"%s\", message=\"%s\"",
64                 err->name, err->message);
65         else
66           ERROR(file, function, line,
67                 "callback without message arguments!");
68
69         return 0;
70      }
71
72    if (!dbus_message_iter_init(msg, itr))
73      {
74        ERROR(file, function, line,
75              "could not init iterator.");
76         return 0;
77      }
78
79    return 1;
80 }
81
82 #define _dbus_callback_check_and_init(msg, itr, err)                    \
83   __dbus_callback_check_and_init(__FILE__, __LINE__, __FUNCTION__,      \
84                                  msg, itr, err)
85
86 static inline bool
87 __dbus_iter_type_check(const char *file, int line, const char *function, int type, int expected, const char *expected_name)
88 {
89    if (type == expected)
90      return 1;
91
92    ERROR(file, function, line,
93          "expected type %s (%c) but got %c instead!",
94          expected_name, expected, type);
95
96    return 0;
97 }
98 #define _dbus_iter_type_check(t, e) __dbus_iter_type_check(__FILE__, __LINE__, __FUNCTION__, t, e, #e)
99
100 extern E_DBus_Connection *e_connman_conn;
101
102 const char *e_connman_system_bus_name_get(void);
103
104 void e_connman_manager_clear_elements(void);
105
106 void e_connman_elements_init(void);
107 void e_connman_elements_shutdown(void);
108
109 E_Connman_Element *e_connman_element_register(const char *path, const char *interface);
110 void e_connman_element_unregister(E_Connman_Element *element);
111
112 bool e_connman_element_objects_array_get_stringshared(const E_Connman_Element *element, const char *property, unsigned int *count, E_Connman_Element ***elements);
113 unsigned char *e_connman_element_bytes_array_get_stringshared(const E_Connman_Element *element, const char *property, unsigned int *count);
114
115 bool e_connman_element_call_with_path(E_Connman_Element *element, const char *method_name, const char *string, E_DBus_Method_Return_Cb cb, Eina_Inlist **pending, E_DBus_Method_Return_Cb user_cb, const void *user_data);
116
117 bool e_connman_element_message_send(E_Connman_Element *element, const char *method_name, E_DBus_Method_Return_Cb cb, DBusMessage *msg, Eina_Inlist **pending, E_DBus_Method_Return_Cb user_cb, const void *user_data);
118
119 bool e_connman_element_call_full(E_Connman_Element *element, const char *method_name, E_DBus_Method_Return_Cb cb, Eina_Inlist **pending, E_DBus_Method_Return_Cb user_cb, const void *user_data);