diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2010-09-15 23:42:16 +0200 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-09-20 15:14:15 +0200 |
commit | d6b6fb3003a42e857fbd969e0ccfc771f4fc8398 (patch) | |
tree | 6632479eb88c1bc8a57af10d97aabe47ef1e2cc0 /gsupplicant/dbus.h | |
parent | c9f804e1cce4290834b39e937e2a228960e88869 (diff) | |
download | connman-d6b6fb3003a42e857fbd969e0ccfc771f4fc8398.tar.gz connman-d6b6fb3003a42e857fbd969e0ccfc771f4fc8398.tar.bz2 connman-d6b6fb3003a42e857fbd969e0ccfc771f4fc8398.zip |
GSupplicant intial commit
Diffstat (limited to 'gsupplicant/dbus.h')
-rw-r--r-- | gsupplicant/dbus.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/gsupplicant/dbus.h b/gsupplicant/dbus.h new file mode 100644 index 00000000..254b93e8 --- /dev/null +++ b/gsupplicant/dbus.h @@ -0,0 +1,108 @@ +/* + * + * WPA supplicant library with GLib integration + * + * Copyright (C) 2010 Intel Corporation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +#include <dbus/dbus.h> + +#define SUPPLICANT_SERVICE "fi.w1.wpa_supplicant1" +#define SUPPLICANT_INTERFACE "fi.w1.wpa_supplicant1" +#define SUPPLICANT_PATH "/fi/w1/wpa_supplicant1" + +typedef void (*supplicant_dbus_array_function) (DBusMessageIter *iter, + void *user_data); + +typedef void (*supplicant_dbus_property_function) (const char *key, + DBusMessageIter *iter, void *user_data); + +typedef void (*supplicant_dbus_setup_function) (DBusMessageIter *iter, + void *user_data); + +typedef void (*supplicant_dbus_result_function) (const char *error, + DBusMessageIter *iter, void *user_data); + +void supplicant_dbus_setup(DBusConnection *conn); + +void supplicant_dbus_array_foreach(DBusMessageIter *iter, + supplicant_dbus_array_function function, + void *user_data); + +void supplicant_dbus_property_foreach(DBusMessageIter *iter, + supplicant_dbus_property_function function, + void *user_data); + +int supplicant_dbus_property_get_all(const char *path, const char *interface, + supplicant_dbus_property_function function, + void *user_data); + +int supplicant_dbus_property_set(const char *path, const char *interface, + const char *key, const char *signature, + supplicant_dbus_setup_function setup, + supplicant_dbus_result_function function, + void *user_data); + +int supplicant_dbus_method_call(const char *path, + const char *interface, const char *method, + supplicant_dbus_setup_function setup, + supplicant_dbus_result_function function, + void *user_data); + +void supplicant_dbus_property_append_basic(DBusMessageIter *iter, + const char *key, int type, void *val); + +void supplicant_dbus_property_append_fixed_array(DBusMessageIter *iter, + const char *key, int type, void *val, int len); + +static inline void supplicant_dbus_dict_open(DBusMessageIter *iter, + DBusMessageIter *dict) +{ + dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, + DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING + DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING + DBUS_DICT_ENTRY_END_CHAR_AS_STRING, dict); +} + +static inline void supplicant_dbus_dict_close(DBusMessageIter *iter, + DBusMessageIter *dict) +{ + dbus_message_iter_close_container(iter, dict); +} + +static inline void supplicant_dbus_dict_append_basic(DBusMessageIter *dict, + const char *key, int type, void *val) +{ + DBusMessageIter entry; + + dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, + NULL, &entry); + supplicant_dbus_property_append_basic(&entry, key, type, val); + dbus_message_iter_close_container(dict, &entry); +} + +static inline void +supplicant_dbus_dict_append_fixed_array(DBusMessageIter *dict, + const char *key, int type, void *val, int len) +{ + DBusMessageIter entry; + + dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, + NULL, &entry); + supplicant_dbus_property_append_fixed_array(&entry, key, type, val, len); + dbus_message_iter_close_container(dict, &entry); +} |