more easy properties for network, fix typo with "Strength".
[framework/uifw/edbus.git] / src / lib / connman / e_connman_private.h
1 #ifdef HAVE_CONFIG_H
2 #include "config.h"
3 #endif
4
5 #include <stdio.h>
6
7 #include <Eina.h>
8 #include <eina_safety_checks.h>
9
10 #include "E_Connman.h"
11
12 static const char manager_path[] = "/";
13
14 extern const char *e_connman_iface_manager;
15 extern const char *e_connman_iface_network;
16 extern const char *e_connman_iface_profile;
17 extern const char *e_connman_iface_service;
18 extern const char *e_connman_iface_device;
19 extern const char *e_connman_iface_connection;
20
21 extern const char *e_connman_prop_available;
22 extern const char *e_connman_prop_connected;
23 extern const char *e_connman_prop_connections;
24 extern const char *e_connman_prop_default;
25 extern const char *e_connman_prop_device;
26 extern const char *e_connman_prop_devices;
27 extern const char *e_connman_prop_interface;
28 extern const char *e_connman_prop_ipv4_address;
29 extern const char *e_connman_prop_ipv4_method;
30 extern const char *e_connman_prop_address;
31 extern const char *e_connman_prop_name;
32 extern const char *e_connman_prop_network;
33 extern const char *e_connman_prop_networks;
34 extern const char *e_connman_prop_offline_mode;
35 extern const char *e_connman_prop_policy;
36 extern const char *e_connman_prop_powered;
37 extern const char *e_connman_prop_priority;
38 extern const char *e_connman_prop_profiles;
39 extern const char *e_connman_prop_services;
40 extern const char *e_connman_prop_remember;
41 extern const char *e_connman_prop_scan_interval;
42 extern const char *e_connman_prop_scanning;
43 extern const char *e_connman_prop_state;
44 extern const char *e_connman_prop_strength;
45 extern const char *e_connman_prop_frequency;
46 extern const char *e_connman_prop_type;
47 extern const char *e_connman_prop_wifi_mode;
48 extern const char *e_connman_prop_wifi_passphrase;
49 extern const char *e_connman_prop_wifi_security;
50 extern const char *e_connman_prop_wifi_ssid;
51 extern const char *e_connman_prop_wifi_channel;
52 extern const char *e_connman_prop_wifi_eap;
53 extern const char *e_connman_prop_error;
54 extern const char *e_connman_prop_mode;
55 extern const char *e_connman_prop_security;
56 extern const char *e_connman_prop_passphrase;
57 extern const char *e_connman_prop_passphrase_required;
58 extern const char *e_connman_prop_favorite;
59 extern const char *e_connman_prop_immutable;
60 extern const char *e_connman_prop_auto_connect;
61 extern const char *e_connman_prop_setup_required;
62 extern const char *e_connman_prop_apn;
63 extern const char *e_connman_prop_mcc;
64 extern const char *e_connman_prop_mnc;
65 extern const char *e_connman_prop_roaming;
66
67 extern int _e_dbus_connman_log_dom;
68
69 #ifndef EINA_LOG_DEFAULT_COLOR
70 #define EINA_LOG_DEFAULT_COLOR EINA_COLOR_CYAN
71 #endif
72
73 #undef DBG
74 #undef INF
75 #undef WRN
76 #undef ERR
77
78 #define DBG(...) EINA_LOG_DOM_DBG(_e_dbus_connman_log_dom , __VA_ARGS__)
79 #define INF(...) EINA_LOG_DOM_INFO(_e_dbus_connman_log_dom , __VA_ARGS__)
80 #define WRN(...) EINA_LOG_DOM_WARN(_e_dbus_connman_log_dom , __VA_ARGS__)
81 #define ERR(...) EINA_LOG_DOM_ERR(_e_dbus_connman_log_dom , __VA_ARGS__)
82
83 static inline bool
84 __dbus_callback_check_and_init(const char *file, int line, const char *function, DBusMessage *msg, DBusMessageIter *itr, DBusError *err)
85 {
86    if (!msg)
87      {
88         if (err)
89           ERR(file, function, line,
90               "an error was reported by server: "
91               "name=\"%s\", message=\"%s\"",
92               err->name, err->message);
93         else
94           ERR(file, function, line,
95               "callback without message arguments!");
96
97         return 0;
98      }
99
100    if (!dbus_message_iter_init(msg, itr))
101      {
102        ERR(file, function, line,
103            "could not init iterator.");
104         return 0;
105      }
106
107    return 1;
108 }
109
110 #define _dbus_callback_check_and_init(msg, itr, err)                    \
111   __dbus_callback_check_and_init(__FILE__, __LINE__, __FUNCTION__,      \
112                                  msg, itr, err)
113
114 static inline bool
115 __dbus_iter_type_check(const char *file, int line, const char *function, int type, int expected, const char *expected_name)
116 {
117    if (type == expected)
118      return 1;
119
120    ERR(file, function, line,
121        "expected type %s (%c) but got %c instead!",
122        expected_name, expected, type);
123
124    return 0;
125 }
126 #define _dbus_iter_type_check(t, e) __dbus_iter_type_check(__FILE__, __LINE__, __FUNCTION__, t, e, #e)
127
128 extern E_DBus_Connection *e_connman_conn;
129
130 const char *e_connman_system_bus_name_get(void);
131
132 void e_connman_manager_clear_elements(void);
133
134 void e_connman_elements_init(void);
135 void e_connman_elements_shutdown(void);
136
137 E_Connman_Element *e_connman_element_register(const char *path, const char *interface);
138 void e_connman_element_unregister(E_Connman_Element *element);
139
140 bool e_connman_element_objects_array_get_stringshared(const E_Connman_Element *element, const char *property, unsigned int *count, E_Connman_Element ***elements);
141 unsigned char *e_connman_element_bytes_array_get_stringshared(const E_Connman_Element *element, const char *property, unsigned int *count);
142
143 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);
144
145 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);
146 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);
147 bool e_connman_element_call_with_string(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);