diff options
author | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2010-12-15 16:18:44 +0000 |
---|---|---|
committer | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2010-12-15 16:18:44 +0000 |
commit | 2e343ceb90433bdd9eb3847d4f803bc5d880720f (patch) | |
tree | cc83ab4f3231386f06acfd240cb1158493d4940f | |
parent | dc8ed3beab9a09b8b9325a721542da4eb5ec29c6 (diff) |
protocol: add password-prompt connection parameter
We can't have *-password as it'll be stored in the keyring by mission
control.
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
-rw-r--r-- | src/idle-connection.c | 13 | ||||
-rw-r--r-- | src/protocol.c | 6 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/idle-connection.c b/src/idle-connection.c index ad2f9c4..2c5182a 100644 --- a/src/idle-connection.c +++ b/src/idle-connection.c @@ -122,6 +122,7 @@ enum { PROP_CHARSET, PROP_QUITMESSAGE, PROP_USE_SSL, + PROP_PASSWORD_PROMPT, LAST_PROPERTY_ENUM }; @@ -145,6 +146,7 @@ struct _IdleConnectionPrivate { char *charset; char *quit_message; gboolean use_ssl; + gboolean password_prompt; /* the string used by the a server as a prefix to any messages we send that * it relays to other users. We need to know this so we can keep our sent @@ -262,6 +264,10 @@ static void idle_connection_set_property(GObject *obj, guint prop_id, const GVal priv->use_ssl = g_value_get_boolean(value); break; + case PROP_PASSWORD_PROMPT: + priv->password_prompt = g_value_get_boolean(value); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec); break; @@ -308,6 +314,10 @@ static void idle_connection_get_property(GObject *obj, guint prop_id, GValue *va g_value_set_boolean(value, priv->use_ssl); break; + case PROP_PASSWORD_PROMPT: + g_value_set_boolean(value, priv->password_prompt); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec); break; @@ -425,6 +435,9 @@ static void idle_connection_class_init(IdleConnectionClass *klass) { param_spec = g_param_spec_boolean("use-ssl", "Use SSL", "If the connection should use a SSL tunneled socket connection", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_BLURB | G_PARAM_CONSTRUCT); g_object_class_install_property(object_class, PROP_USE_SSL, param_spec); + + param_spec = g_param_spec_boolean("password-prompt", "Password prompt", "Whether the connection should pop up a SASL channel if no password is given", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_BLURB | G_PARAM_CONSTRUCT); + g_object_class_install_property(object_class, PROP_PASSWORD_PROMPT, param_spec); } static GPtrArray *_iface_create_channel_managers(TpBaseConnection *self) { diff --git a/src/protocol.c b/src/protocol.c index 1863f1e..a450e99 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -71,7 +71,9 @@ static const TpCMParamSpec idle_params[] = { { "charset", DBUS_TYPE_STRING_AS_STRING, G_TYPE_STRING, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT, "UTF-8" }, { "quit-message", DBUS_TYPE_STRING_AS_STRING, G_TYPE_STRING, 0 }, - {"use-ssl", DBUS_TYPE_BOOLEAN_AS_STRING, G_TYPE_BOOLEAN, + { "use-ssl", DBUS_TYPE_BOOLEAN_AS_STRING, G_TYPE_BOOLEAN, + TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT, GINT_TO_POINTER (FALSE) }, + { "password-prompt", DBUS_TYPE_BOOLEAN_AS_STRING, G_TYPE_BOOLEAN, TP_CONN_MGR_PARAM_FLAG_HAS_DEFAULT, GINT_TO_POINTER (FALSE) }, { NULL, NULL, 0, 0, NULL, 0 } }; @@ -108,6 +110,8 @@ new_connection (TpBaseProtocol *protocol G_GNUC_UNUSED, "charset", tp_asv_get_string (params, "charset"), "quit-message", tp_asv_get_string (params, "quit-message"), "use-ssl", tp_asv_get_boolean (params, "use-ssl", NULL), + "password-prompt", tp_asv_get_boolean (params, "password-prompt", + NULL), NULL); } |