[Telepathy-commits] [telepathy-salut/master] Started setting properties on the channel when required.
Jonny Lamb
jonny.lamb at collabora.co.uk
Fri Nov 21 03:45:59 PST 2008
20080717182633-8ed0e-be204cfaf33b754fe022aba7cae793b20063a3c9.gz
---
src/salut-file-channel.c | 20 +++++++++++++++++---
1 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/salut-file-channel.c b/src/salut-file-channel.c
index 1f69cf9..259fc53 100644
--- a/src/salut-file-channel.c
+++ b/src/salut-file-channel.c
@@ -668,9 +668,10 @@ remote_accepted_cb (GibberFileTransfer *ft,
SalutFileChannel *self)
{
guint id;
+ SalutFileChannelClass *class = SALUT_FILE_CHANNEL_CLASS (self);
id = GPOINTER_TO_INT (g_hash_table_lookup (self->priv->name_to_id, ft->id));
- /* TODO from mixin: set state */
+ g_object_set_data (G_OBJECT (class), "state", (gpointer) SALUT_FILE_TRANSFER_STATE_OPEN);
g_signal_connect (ft, "finished", G_CALLBACK (ft_finished_cb), self);
}
@@ -780,6 +781,19 @@ salut_file_channel_received_file_offer (SalutFileChannel *self,
GINT_TO_POINTER (id));
}
+static void
+salut_file_channel_set_state (SalutSvcChannelTypeFile *iface,
+ SalutFileTransferState state,
+ SalutFileTransferStateChangeReason reason)
+{
+ SalutFileChannel *self = SALUT_FILE_CHANNEL (iface);
+ SalutFileChannelClass *klass = SALUT_FILE_CHANNEL_CLASS (self);
+
+ g_object_set_data (G_OBJECT (klass), "state", (gpointer) state);
+ salut_svc_channel_type_file_emit_file_transfer_state_changed (iface,
+ state, reason);
+}
+
/**
* salut_file_channel_accept_file
*
@@ -809,8 +823,8 @@ salut_file_channel_accept_file (SalutSvcChannelTypeFile *iface,
setup_local_socket (self);
- salut_svc_channel_type_file_emit_file_transfer_state_changed (iface,
- SALUT_FILE_TRANSFER_STATE_OPEN, SALUT_FILE_TRANSFER_STATE_CHANGE_REASON_NONE);
+ salut_file_channel_set_state (iface, SALUT_FILE_TRANSFER_STATE_OPEN,
+ SALUT_FILE_TRANSFER_STATE_CHANGE_REASON_NONE);
g_value_init (out_address, G_TYPE_STRING);
--
1.5.6.5
More information about the Telepathy-commits
mailing list