[Telepathy-commits] [telepathy-salut/master] Add property "tubes-channel" to SalutStreamTube and SalutDBusTube object. They have a reference on the SalutTubesChannel object in order to call salut_tubes_channel_send_iq_offer()
Alban Crequy
alban.crequy at collabora.co.uk
Fri Feb 6 03:14:52 PST 2009
---
src/salut-tubes-channel.c | 4 ++--
src/tube-dbus.c | 12 ++++++++++++
src/tube-dbus.h | 5 +++--
src/tube-iface.c | 13 +++++++++++++
src/tube-stream.c | 32 ++++++++++++++++++++++----------
src/tube-stream.h | 1 +
6 files changed, 53 insertions(+), 14 deletions(-)
diff --git a/src/salut-tubes-channel.c b/src/salut-tubes-channel.c
index 82f1977..adefa16 100644
--- a/src/salut-tubes-channel.c
+++ b/src/salut-tubes-channel.c
@@ -1234,12 +1234,12 @@ create_new_tube (SalutTubesChannel *self,
switch (type)
{
case TP_TUBE_TYPE_DBUS:
- tube = SALUT_TUBE_IFACE (salut_tube_dbus_new (priv->conn,
+ tube = SALUT_TUBE_IFACE (salut_tube_dbus_new (priv->conn, self,
priv->handle, priv->handle_type, priv->self_handle, muc_connection,
initiator, service, parameters, tube_id));
break;
case TP_TUBE_TYPE_STREAM:
- tube = SALUT_TUBE_IFACE (salut_tube_stream_new (priv->conn,
+ tube = SALUT_TUBE_IFACE (salut_tube_stream_new (priv->conn, self,
priv->xmpp_connection_manager, priv->handle, priv->handle_type,
priv->self_handle, initiator, service, parameters, tube_id,
portnum, iq_req));
diff --git a/src/tube-dbus.c b/src/tube-dbus.c
index 645e76f..e66f951 100644
--- a/src/tube-dbus.c
+++ b/src/tube-dbus.c
@@ -70,6 +70,7 @@ static guint signals[LAST_SIGNAL] = {0};
enum
{
PROP_CONNECTION = 1,
+ PROP_TUBES_CHANNEL,
PROP_HANDLE,
PROP_HANDLE_TYPE,
PROP_SELF_HANDLE,
@@ -92,6 +93,7 @@ typedef struct _SalutTubeDBusPrivate SalutTubeDBusPrivate;
struct _SalutTubeDBusPrivate
{
SalutConnection *conn;
+ SalutTubesChannel *tubes_channel;
TpHandle handle;
TpHandleType handle_type;
TpHandle self_handle;
@@ -534,6 +536,9 @@ salut_tube_dbus_get_property (GObject *object,
case PROP_CONNECTION:
g_value_set_object (value, priv->conn);
break;
+ case PROP_TUBES_CHANNEL:
+ g_value_set_object (value, priv->tubes_channel);
+ break;
case PROP_HANDLE:
g_value_set_uint (value, priv->handle);
break;
@@ -599,6 +604,9 @@ salut_tube_dbus_set_property (GObject *object,
case PROP_CONNECTION:
priv->conn = g_value_get_object (value);
break;
+ case PROP_TUBES_CHANNEL:
+ priv->tubes_channel = g_value_get_object (value);
+ break;
case PROP_HANDLE:
priv->handle = g_value_get_uint (value);
break;
@@ -760,6 +768,8 @@ salut_tube_dbus_class_init (SalutTubeDBusClass *salut_tube_dbus_class)
g_object_class_override_property (object_class, PROP_CONNECTION,
"connection");
+ g_object_class_override_property (object_class, PROP_TUBES_CHANNEL,
+ "tubes-channel");
g_object_class_override_property (object_class, PROP_HANDLE,
"handle");
g_object_class_override_property (object_class, PROP_HANDLE_TYPE,
@@ -1074,6 +1084,7 @@ data_received_cb (GibberBytestreamIface *stream,
SalutTubeDBus *
salut_tube_dbus_new (SalutConnection *conn,
+ SalutTubesChannel *tubes_channel,
TpHandle handle,
TpHandleType handle_type,
TpHandle self_handle,
@@ -1085,6 +1096,7 @@ salut_tube_dbus_new (SalutConnection *conn,
{
SalutTubeDBus *tube = g_object_new (SALUT_TYPE_TUBE_DBUS,
"connection", conn,
+ "tubes-channel", tubes_channel,
"handle", handle,
"handle-type", handle_type,
"self-handle", self_handle,
diff --git a/src/tube-dbus.h b/src/tube-dbus.h
index 4b5a87c..d8177d0 100644
--- a/src/tube-dbus.h
+++ b/src/tube-dbus.h
@@ -23,6 +23,7 @@
#include <glib-object.h>
#include "salut-connection.h"
+#include "salut-tubes-channel.h"
#include <gibber/gibber-muc-connection.h>
#include <gibber/gibber-bytestream-iface.h>
@@ -60,8 +61,8 @@ GType salut_tube_dbus_get_type (void);
SalutTubeDBusClass))
SalutTubeDBus *
-salut_tube_dbus_new (SalutConnection *conn, TpHandle handle,
- TpHandleType handle_type, TpHandle self_handle,
+salut_tube_dbus_new (SalutConnection *conn, SalutTubesChannel *tubes_channel,
+ TpHandle handle, TpHandleType handle_type, TpHandle self_handle,
GibberMucConnection *muc_connection, TpHandle initiator,
const gchar *service, GHashTable *parameters, guint id);
diff --git a/src/tube-iface.c b/src/tube-iface.c
index 244d3ba..4ea7351 100644
--- a/src/tube-iface.c
+++ b/src/tube-iface.c
@@ -20,6 +20,7 @@
#include "tube-iface.h"
#include "salut-connection.h"
+#include "salut-tubes-channel.h"
#include <glib.h>
@@ -98,6 +99,18 @@ salut_tube_iface_base_init (gpointer klass)
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
g_object_interface_install_property (klass, param_spec);
+ param_spec = g_param_spec_object (
+ "tubes-channel",
+ "SalutTubesChannel object",
+ "Salut tubes object that implements the old interface.",
+ SALUT_TYPE_TUBES_CHANNEL,
+ G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_NAME |
+ G_PARAM_STATIC_NICK |
+ G_PARAM_STATIC_BLURB);
+ g_object_interface_install_property (klass, param_spec);
+
param_spec = g_param_spec_uint (
"handle",
"Handle",
diff --git a/src/tube-stream.c b/src/tube-stream.c
index 7874e44..e382ae4 100644
--- a/src/tube-stream.c
+++ b/src/tube-stream.c
@@ -86,6 +86,7 @@ static guint signals[LAST_SIGNAL] = {0};
enum
{
PROP_CONNECTION = 1,
+ PROP_TUBES_CHANNEL,
PROP_HANDLE,
PROP_HANDLE_TYPE,
PROP_SELF_HANDLE,
@@ -109,6 +110,7 @@ typedef struct _SalutTubeStreamPrivate SalutTubeStreamPrivate;
struct _SalutTubeStreamPrivate
{
SalutConnection *conn;
+ SalutTubesChannel *tubes_channel;
TpHandle handle;
TpHandleType handle_type;
TpHandle self_handle;
@@ -959,6 +961,9 @@ salut_tube_stream_get_property (GObject *object,
switch (property_id)
{
+ case PROP_TUBES_CHANNEL:
+ g_value_set_object (value, priv->tubes_channel);
+ break;
case PROP_CONNECTION:
g_value_set_object (value, priv->conn);
break;
@@ -1027,6 +1032,9 @@ salut_tube_stream_set_property (GObject *object,
switch (property_id)
{
+ case PROP_TUBES_CHANNEL:
+ priv->tubes_channel = g_value_get_object (value);
+ break;
case PROP_CONNECTION:
priv->conn = g_value_get_object (value);
break;
@@ -1249,6 +1257,8 @@ salut_tube_stream_class_init (SalutTubeStreamClass *salut_tube_stream_class)
g_object_class_override_property (object_class, PROP_CONNECTION,
"connection");
+ g_object_class_override_property (object_class, PROP_TUBES_CHANNEL,
+ "tubes-channel");
g_object_class_override_property (object_class, PROP_HANDLE,
"handle");
g_object_class_override_property (object_class, PROP_HANDLE_TYPE,
@@ -1416,19 +1426,21 @@ data_received_cb (GibberBytestreamIface *bytestream,
SalutTubeStream *
salut_tube_stream_new (SalutConnection *conn,
- SalutXmppConnectionManager *xmpp_connection_manager,
- TpHandle handle,
- TpHandleType handle_type,
- TpHandle self_handle,
- TpHandle initiator,
- const gchar *service,
- GHashTable *parameters,
- guint id,
- guint portnum,
- GibberXmppStanza *iq_req)
+ SalutTubesChannel *tubes_channel,
+ SalutXmppConnectionManager *xmpp_connection_manager,
+ TpHandle handle,
+ TpHandleType handle_type,
+ TpHandle self_handle,
+ TpHandle initiator,
+ const gchar *service,
+ GHashTable *parameters,
+ guint id,
+ guint portnum,
+ GibberXmppStanza *iq_req)
{
return g_object_new (SALUT_TYPE_TUBE_STREAM,
"connection", conn,
+ "tubes-channel", tubes_channel,
"xmpp-connection-manager", xmpp_connection_manager,
"handle", handle,
"handle-type", handle_type,
diff --git a/src/tube-stream.h b/src/tube-stream.h
index 771e6f0..61804a1 100644
--- a/src/tube-stream.h
+++ b/src/tube-stream.h
@@ -61,6 +61,7 @@ GType salut_tube_stream_get_type (void);
SalutTubeStreamClass))
SalutTubeStream *salut_tube_stream_new (SalutConnection *conn,
+ SalutTubesChannel *tubes_channel,
SalutXmppConnectionManager *xmpp_connection_manager, TpHandle handle,
TpHandleType handle_type, TpHandle self_handle, TpHandle initiator,
const gchar *service, GHashTable *parameters, guint id, guint portnum,
--
1.5.6.5
More information about the telepathy-commits
mailing list