empathy r1788 - in trunk: libempathy libempathy-gtk
- From: xclaesse svn gnome org
- To: svn-commits-list gnome org
- Subject: empathy r1788 - in trunk: libempathy libempathy-gtk
- Date: Fri, 21 Nov 2008 16:17:04 +0000 (UTC)
Author: xclaesse
Date: Fri Nov 21 16:17:03 2008
New Revision: 1788
URL: http://svn.gnome.org/viewvc/empathy?rev=1788&view=rev
Log:
Added empathy_offer_file function and updated accept_file. (Jonny Lamb)
Signed-off-by: Jonny Lamb <jonny lamb collabora co uk>
Modified:
trunk/libempathy-gtk/empathy-ft-manager.c
trunk/libempathy/empathy-tp-file.c
trunk/libempathy/empathy-tp-file.h
trunk/libempathy/empathy-utils.c
Modified: trunk/libempathy-gtk/empathy-ft-manager.c
==============================================================================
--- trunk/libempathy-gtk/empathy-ft-manager.c (original)
+++ trunk/libempathy-gtk/empathy-ft-manager.c Fri Nov 21 16:17:03 2008
@@ -365,6 +365,8 @@
{
case EMP_FILE_TRANSFER_STATE_REMOTE_PENDING:
case EMP_FILE_TRANSFER_STATE_OPEN:
+ case EMP_FILE_TRANSFER_STATE_ACCEPTED:
+ case EMP_FILE_TRANSFER_STATE_NOT_OFFERED:
if (empathy_tp_file_get_incoming (tp_file))
/* translators: first %s is filename, second %s is the contact name */
first_line_format = _("Receiving \"%s\" from %s");
@@ -374,7 +376,8 @@
first_line = g_strdup_printf (first_line_format, filename, contact_name);
- if (state == EMP_FILE_TRANSFER_STATE_OPEN)
+ if (state == EMP_FILE_TRANSFER_STATE_OPEN
+ || state == EMP_FILE_TRANSFER_STATE_ACCEPTED)
{
gchar *total_size_str;
gchar *transferred_bytes_str;
@@ -1064,7 +1067,7 @@
filename = g_file_get_basename (file);
empathy_tp_file_set_filename (response_data->tp_file, filename);
- empathy_tp_file_accept (response_data->tp_file);
+ empathy_tp_file_accept (response_data->tp_file, 0);
ft_manager_add_tp_file_to_list (response_data->ft_manager,
response_data->tp_file);
Modified: trunk/libempathy/empathy-tp-file.c
==============================================================================
--- trunk/libempathy/empathy-tp-file.c (original)
+++ trunk/libempathy/empathy-tp-file.c Fri Nov 21 16:17:03 2008
@@ -621,7 +621,8 @@
* EMP_FILE_TRANSFER_STATE_LOCAL_PENDING).
*/
void
-empathy_tp_file_accept (EmpathyTpFile *tp_file)
+empathy_tp_file_accept (EmpathyTpFile *tp_file,
+ guint64 offset)
{
EmpathyTpFilePriv *priv;
GValue *address;
@@ -641,11 +642,46 @@
if (!emp_cli_channel_type_file_run_accept_file (TP_PROXY (priv->channel),
-1, TP_SOCKET_ADDRESS_TYPE_UNIX, TP_SOCKET_ACCESS_CONTROL_LOCALHOST,
- ¬hing, &address, &error, NULL))
+ ¬hing, offset, &address, &error, NULL))
{
DEBUG ("Accept error: %s",
error ? error->message : "No message given");
g_clear_error (&error);
+ return;
+ }
+
+ if (priv->unix_socket_path)
+ g_free (priv->unix_socket_path);
+
+ priv->unix_socket_path = g_value_dup_string (address);
+ g_value_unset (address);
+
+ DEBUG ("Got unix socket path: %s", priv->unix_socket_path);
+}
+
+void
+empathy_tp_file_offer (EmpathyTpFile *tp_file)
+{
+ EmpathyTpFilePriv *priv;
+ GValue *address;
+ GError *error = NULL;
+ GValue nothing = { 0 };
+
+ g_return_if_fail (EMPATHY_IS_TP_FILE (tp_file));
+
+ priv = GET_PRIV (tp_file);
+
+ g_value_init (¬hing, G_TYPE_STRING);
+ g_value_set_string (¬hing, "");
+
+ if (!emp_cli_channel_type_file_run_offer_file (TP_PROXY (priv->channel),
+ -1, TP_SOCKET_ADDRESS_TYPE_UNIX, TP_SOCKET_ACCESS_CONTROL_LOCALHOST,
+ ¬hing, &address, &error, NULL))
+ {
+ DEBUG ("OfferFile error: %s",
+ error ? error->message : "No message given");
+ g_clear_error (&error);
+ return;
}
if (priv->unix_socket_path)
Modified: trunk/libempathy/empathy-tp-file.h
==============================================================================
--- trunk/libempathy/empathy-tp-file.h (original)
+++ trunk/libempathy/empathy-tp-file.h Fri Nov 21 16:17:03 2008
@@ -65,8 +65,9 @@
EmpathyTpFile *empathy_tp_file_new (McAccount *account, TpChannel *channel);
TpChannel *empathy_tp_file_get_channel (EmpathyTpFile *tp_file);
-void empathy_tp_file_accept (EmpathyTpFile *tp_file);
+void empathy_tp_file_accept (EmpathyTpFile *tp_file, guint64 offset);
void empathy_tp_file_cancel (EmpathyTpFile *tp_file);
+void empathy_tp_file_offer (EmpathyTpFile *tp_file);
const gchar *empathy_tp_file_get_id (EmpathyTpFile *tp_file);
guint64 empathy_tp_file_get_transferred_bytes (EmpathyTpFile *tp_file);
Modified: trunk/libempathy/empathy-utils.c
==============================================================================
--- trunk/libempathy/empathy-utils.c (original)
+++ trunk/libempathy/empathy-utils.c Fri Nov 21 16:17:03 2008
@@ -867,6 +867,8 @@
empathy_tp_file_set_input_stream (tp_file, in_stream);
}
+ empathy_tp_file_offer (tp_file);
+
g_object_unref (mc);
g_object_unref (connection);
g_object_unref (channel);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]