Merge "vpn: Export vpn_ipconfig_foreach as linker symbol" into tizen
[platform/upstream/connman.git] / tools / supplicant-dbus.h
old mode 100644 (file)
new mode 100755 (executable)
index 51981e2..4452894
@@ -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);
+}