#include "vpn-agent.h"
#include "vpn.h"
-connman_bool_t vpn_agent_check_reply_has_dict(DBusMessage *reply)
+bool vpn_agent_check_reply_has_dict(DBusMessage *reply)
{
const char *signature = DBUS_TYPE_ARRAY_AS_STRING
DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING
DBUS_TYPE_VARIANT_AS_STRING
DBUS_DICT_ENTRY_END_CHAR_AS_STRING;
- if (dbus_message_has_signature(reply, signature) == TRUE)
- return TRUE;
+ if (dbus_message_has_signature(reply, signature))
+ return true;
connman_warn("Reply %s to %s from %s has wrong signature %s",
signature,
dbus_message_get_sender(reply),
dbus_message_get_signature(reply));
- return FALSE;
+ return false;
}
static void request_input_append_name(DBusMessageIter *iter, void *user_data)
request_input_append_name,
provider);
}
+
+struct user_info_data {
+ struct vpn_provider *provider;
+ const char *username_str;
+};
+
+static void request_input_append_user_info(DBusMessageIter *iter,
+ void *user_data)
+{
+ struct user_info_data *data = user_data;
+ struct vpn_provider *provider = data->provider;
+ const char *str = "string";
+
+ connman_dbus_dict_append_basic(iter, "Type",
+ DBUS_TYPE_STRING, &str);
+ str = "mandatory";
+ connman_dbus_dict_append_basic(iter, "Requirement",
+ DBUS_TYPE_STRING, &str);
+
+ if (data->username_str) {
+ str = vpn_provider_get_string(provider, data->username_str);
+ if (str)
+ connman_dbus_dict_append_basic(iter, "Value",
+ DBUS_TYPE_STRING, &str);
+ }
+}
+
+void vpn_agent_append_user_info(DBusMessageIter *iter,
+ struct vpn_provider *provider,
+ const char *username_str)
+{
+ struct user_info_data data = {
+ .provider = provider,
+ .username_str = username_str
+ };
+
+ connman_dbus_dict_append_dict(iter, "Username",
+ request_input_append_user_info,
+ &data);
+
+ data.username_str = NULL;
+ connman_dbus_dict_append_dict(iter, "Password",
+ request_input_append_user_info,
+ &data);
+}