X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=tools%2Fsupplicant-dbus.h;h=4452894b8bc80bfada836f1fa03f4fb2bf3a34d6;hb=7ef7e96fc2f3eb620fffb6f277339214efe83747;hp=51981e27141d737f1af9198785759462c8af29ca;hpb=a6b51d4e45f15c0eca7e5cfce377e4883ceae8e0;p=platform%2Fupstream%2Fconnman.git diff --git a/tools/supplicant-dbus.h b/tools/supplicant-dbus.h old mode 100644 new mode 100755 index 51981e2..4452894 --- a/tools/supplicant-dbus.h +++ b/tools/supplicant-dbus.h @@ -2,7 +2,7 @@ * * Connection Manager * - * Copyright (C) 2007-2009 Intel Corporation. All rights reserved. + * Copyright (C) 2007-2012 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 @@ -31,9 +31,12 @@ typedef void (* supplicant_dbus_array_function) (DBusMessageIter *iter, typedef void (* supplicant_dbus_property_function) (const char *key, DBusMessageIter *iter, void *user_data); -typedef void (* supplicant_dbus_value_function) (DBusMessageIter *iter, +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, @@ -50,5 +53,41 @@ int supplicant_dbus_property_get_all(const char *path, const char *interface, int supplicant_dbus_property_set(const char *path, const char *interface, const char *key, const char *signature, - supplicant_dbus_value_function function, + 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); + +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); +}