summaryrefslogtreecommitdiff
path: root/tests/lib/my-conn-proxy.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/my-conn-proxy.c')
-rw-r--r--tests/lib/my-conn-proxy.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/lib/my-conn-proxy.c b/tests/lib/my-conn-proxy.c
index 208f00449..d7748f355 100644
--- a/tests/lib/my-conn-proxy.c
+++ b/tests/lib/my-conn-proxy.c
@@ -33,6 +33,7 @@ enum {
FEAT_RETRY,
FEAT_RETRY_DEP,
FEAT_BEFORE_CONNECTED,
+ FEAT_INTERFACE_LATER,
N_FEAT
};
@@ -203,6 +204,21 @@ prepare_before_connected_before_async (TpProxy *proxy,
g_object_unref (result);
}
+static void
+prepare_interface_later_async (TpProxy *proxy,
+ const TpProxyFeature *feature,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ GSimpleAsyncResult *result;
+
+ result = g_simple_async_result_new ((GObject *) proxy, callback, user_data,
+ prepare_interface_later_async);
+
+ g_simple_async_result_complete_in_idle (result);
+ g_object_unref (result);
+}
+
static const TpProxyFeature *
list_features (TpProxyClass *cls G_GNUC_UNUSED)
{
@@ -212,6 +228,7 @@ list_features (TpProxyClass *cls G_GNUC_UNUSED)
static GQuark need_wrong_iface[2] = {0, 0};
static GQuark need_fail[2] = {0, 0};
static GQuark need_retry[2] = {0, 0};
+ static GQuark need_iface_later[2] = {0, 0};
if (G_LIKELY (features[0].name != 0))
return features;
@@ -262,6 +279,13 @@ list_features (TpProxyClass *cls G_GNUC_UNUSED)
features[FEAT_BEFORE_CONNECTED].prepare_before_signalling_connected_async =
prepare_before_connected_before_async;
+ features[FEAT_INTERFACE_LATER].name =
+ TP_TESTS_MY_CONN_PROXY_FEATURE_INTERFACE_LATER;
+ features[FEAT_INTERFACE_LATER].prepare_async = prepare_interface_later_async;
+ need_iface_later[0] = g_quark_from_static_string (
+ TP_TESTS_MY_CONN_PROXY_IFACE_LATER);
+ features[FEAT_INTERFACE_LATER].interfaces_needed = need_iface_later;
+
return features;
}
@@ -332,3 +356,9 @@ tp_tests_my_conn_proxy_get_feature_quark_before_connected (void)
{
return g_quark_from_static_string ("tp-my-conn-proxy-feature-before-connected");
}
+
+GQuark
+tp_tests_my_conn_proxy_get_feature_quark_interface_later (void)
+{
+ return g_quark_from_static_string ("tp-my-conn-proxy-feature-interface-later");
+}