8 # define alloca __builtin_alloca
10 # define alloca __alloca
11 #elif defined _MSC_VER
13 # define alloca _alloca
19 void * alloca (size_t);
25 #include <eina_safety_checks.h>
27 #define E_CONNMAN_I_KNOW_THIS_API_IS_SUBJECT_TO_CHANGE 1
28 #include "E_Connman.h"
30 typedef struct _E_Connman_Array E_Connman_Array;
31 struct _E_Connman_Array
37 static const char manager_path[] = "/";
39 extern const char *e_connman_iface_manager;
40 extern const char *e_connman_iface_profile;
41 extern const char *e_connman_iface_service;
42 extern const char *e_connman_iface_connection;
43 extern const char *e_connman_iface_technology;
45 extern const char *e_connman_prop_ipv4;
46 extern const char *e_connman_prop_ipv4_configuration;
47 extern const char *e_connman_prop_ethernet;
48 extern const char *e_connman_prop_interface;
49 extern const char *e_connman_prop_speed;
50 extern const char *e_connman_prop_duplex;
51 extern const char *e_connman_prop_method;
52 extern const char *e_connman_prop_address;
53 extern const char *e_connman_prop_gateway;
54 extern const char *e_connman_prop_netmask;
55 extern const char *e_connman_prop_mtu;
56 extern const char *e_connman_prop_name;
57 extern const char *e_connman_prop_offline_mode;
58 extern const char *e_connman_prop_profiles;
59 extern const char *e_connman_prop_profile_active;
60 extern const char *e_connman_prop_services;
61 extern const char *e_connman_prop_technologies;
62 extern const char *e_connman_prop_state;
63 extern const char *e_connman_prop_strength;
64 extern const char *e_connman_prop_type;
65 extern const char *e_connman_prop_error;
66 extern const char *e_connman_prop_security;
67 extern const char *e_connman_prop_passphrase;
68 extern const char *e_connman_prop_passphrase_required;
69 extern const char *e_connman_prop_favorite;
70 extern const char *e_connman_prop_immutable;
71 extern const char *e_connman_prop_auto_connect;
72 extern const char *e_connman_prop_roaming;
73 extern const char *e_connman_prop_technology_default;
74 extern const char *e_connman_prop_technologies_available;
75 extern const char *e_connman_prop_technologies_enabled;
76 extern const char *e_connman_prop_technologies_connected;
77 extern const char *e_connman_prop_login_required;
78 extern const char *e_connman_prop_nameservers;
79 extern const char *e_connman_prop_nameservers_configuration;
80 extern const char *e_connman_prop_domains;
81 extern const char *e_connman_prop_domains_configuration;
82 extern const char *e_connman_prop_proxy;
83 extern const char *e_connman_prop_proxy_configuration;
84 extern const char *e_connman_prop_url;
85 extern const char *e_connman_prop_servers;
86 extern const char *e_connman_prop_excludes;
88 /* compat api's - quickly pulled in old implementations */
89 extern const char *e_connman_prop_apn;
90 extern const char *e_connman_prop_mcc;
91 extern const char *e_connman_prop_mode;
92 extern const char *e_connman_prop_setup_required;
94 extern int _e_dbus_connman_log_dom;
96 #ifndef EINA_LOG_DEFAULT_COLOR
97 #define EINA_LOG_DEFAULT_COLOR EINA_COLOR_CYAN
105 #define DBG(...) EINA_LOG_DOM_DBG(_e_dbus_connman_log_dom, __VA_ARGS__)
106 #define INF(...) EINA_LOG_DOM_INFO(_e_dbus_connman_log_dom, __VA_ARGS__)
107 #define WRN(...) EINA_LOG_DOM_WARN(_e_dbus_connman_log_dom, __VA_ARGS__)
108 #define ERR(...) EINA_LOG_DOM_ERR(_e_dbus_connman_log_dom, __VA_ARGS__)
110 static inline Eina_Bool
111 _dbus_callback_check_and_init(DBusMessage *msg, DBusMessageIter *itr, DBusError *err)
115 if (err && (err->name[0] == 'C'))
118 ERR("an error was reported by server: "
119 "name=\"%s\", message=\"%s\"",
120 err->name, err->message);
122 ERR("callback without message arguments!");
127 if (!dbus_message_iter_init(msg, itr))
129 ERR("could not init iterator.");
136 static inline Eina_Bool
137 __dbus_iter_type_check(int type, int expected, const char *expected_name)
139 if (type == expected)
142 ERR("expected type %s (%c) but got %c instead!",
143 expected_name, expected, type);
148 #define _dbus_iter_type_check(t, e) __dbus_iter_type_check(t, e, # e)
150 extern E_DBus_Connection *e_connman_conn;
152 const char * e_connman_system_bus_name_get(void);
154 void e_connman_manager_clear_elements(void);
156 void e_connman_elements_init(void);
157 void e_connman_elements_shutdown(void);
159 E_Connman_Element * e_connman_element_register(const char *path, const char *interface);
160 void e_connman_element_unregister(E_Connman_Element *element);
162 Eina_Bool e_connman_element_objects_array_get_stringshared(const E_Connman_Element *element, const char *property, unsigned int *count, E_Connman_Element ***elements);
163 Eina_Bool e_connman_element_strings_array_get_stringshared(const E_Connman_Element *element, const char *property, unsigned int *count, const char ***strings);
164 unsigned char * e_connman_element_bytes_array_get_stringshared(const E_Connman_Element *element, const char *property, unsigned int *count);
166 Eina_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);
168 Eina_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);
169 Eina_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);
170 Eina_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);