diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2014-02-25 14:20:50 +0100 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2014-02-25 14:25:11 +0100 |
commit | 6d1aed685b8860d2e0cc4d12b251d19616617819 (patch) | |
tree | dbaece53012389c435f2420b9e8d7f7f46145455 /telepathy-glib | |
parent | b99443c02d20923988dc97318e6cf572e9b5e66f (diff) | |
download | telepathy-glib-6d1aed685b8860d2e0cc4d12b251d19616617819.tar.gz |
add tp_account_channel_request_new_dbus_tube()
Diffstat (limited to 'telepathy-glib')
-rw-r--r-- | telepathy-glib/account-channel-request.c | 49 | ||||
-rw-r--r-- | telepathy-glib/account-channel-request.h | 6 |
2 files changed, 55 insertions, 0 deletions
diff --git a/telepathy-glib/account-channel-request.c b/telepathy-glib/account-channel-request.c index deb9c367d..a96fee931 100644 --- a/telepathy-glib/account-channel-request.c +++ b/telepathy-glib/account-channel-request.c @@ -2475,3 +2475,52 @@ tp_account_channel_request_new_stream_tube (TpAccount *account, g_hash_table_unref (request); return self; } + +/** + * tp_account_channel_request_new_dbus_tube: + * @account: a #TpAccount + * @service_name: the service name that will be used over the tube. It should be + * @user_action_time: the time of the user action that caused this request, + * or one of the special values %TP_USER_ACTION_TIME_NOT_USER_ACTION or + * %TP_USER_ACTION_TIME_CURRENT_TIME (see + * #TpAccountChannelRequest:user-action-time) + * + * Convenience function to create a new #TpAccountChannelRequest object, + * which will yield a DBusTube channel. + * + * After creating the request, you will also need to set the "target" + * of the channel by calling one of the following functions: + * + * - tp_account_channel_request_set_target_contact() + * - tp_account_channel_request_set_target_id() + * + * Returns: a new #TpAccountChannelRequest object + * + * Since: UNRELEASED + */ +TpAccountChannelRequest * +tp_account_channel_request_new_dbus_tube (TpAccount *account, + const gchar *service_name, + gint64 user_action_time) +{ + TpAccountChannelRequest *self; + GHashTable *request; + + g_return_val_if_fail (TP_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (!tp_str_empty (service_name), NULL); + + request = tp_asv_new ( + TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, + TP_IFACE_CHANNEL_TYPE_DBUS_TUBE, + TP_PROP_CHANNEL_TYPE_DBUS_TUBE_SERVICE_NAME, G_TYPE_STRING, service_name, + NULL); + + self = g_object_new (TP_TYPE_ACCOUNT_CHANNEL_REQUEST, + "account", account, + "request", request, + "user-action-time", user_action_time, + NULL); + + g_hash_table_unref (request); + return self; +} diff --git a/telepathy-glib/account-channel-request.h b/telepathy-glib/account-channel-request.h index b670222fd..2c8043089 100644 --- a/telepathy-glib/account-channel-request.h +++ b/telepathy-glib/account-channel-request.h @@ -166,6 +166,12 @@ TpAccountChannelRequest *tp_account_channel_request_new_stream_tube ( const gchar *service, gint64 user_action_time) G_GNUC_WARN_UNUSED_RESULT; +_TP_AVAILABLE_IN_0_24 +TpAccountChannelRequest *tp_account_channel_request_new_dbus_tube ( + TpAccount *account, + const gchar *service_name, + gint64 user_action_time) G_GNUC_WARN_UNUSED_RESULT; + /* Channel target (shared between all channel types) */ _TP_AVAILABLE_IN_0_20 |