/* empathy-ft-factory.c */
-#include <glib.h>
-
-#include <telepathy-glib/telepathy-glib.h>
-
+#include "config.h"
#include "empathy-ft-factory.h"
-#include "empathy-ft-handler.h"
-#include "empathy-marshal.h"
+
#include "empathy-request-util.h"
#include "empathy-utils.h"
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, 0,
NULL, NULL,
- _empathy_marshal_VOID__OBJECT_POINTER,
+ g_cclosure_marshal_generic,
G_TYPE_NONE, 2, EMPATHY_TYPE_FT_HANDLER, G_TYPE_POINTER);
/**
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, 0,
NULL, NULL,
- _empathy_marshal_VOID__OBJECT_POINTER,
+ g_cclosure_marshal_generic,
G_TYPE_NONE, 2, EMPATHY_TYPE_FT_HANDLER, G_TYPE_POINTER);
}
for (l = channels; l != NULL; l = g_list_next (l))
{
TpChannel *channel = l->data;
- EmpathyTpFile *tp_file;
if (tp_proxy_get_invalidated (channel) != NULL)
continue;
- if (tp_channel_get_channel_type_id (channel) !=
- TP_IFACE_QUARK_CHANNEL_TYPE_FILE_TRANSFER)
+ if (!TP_IS_FILE_TRANSFER_CHANNEL (channel))
continue;
- tp_file = empathy_tp_file_new (channel);
-
/* We handle only incoming FT */
- empathy_ft_handler_new_incoming (tp_file, ft_handler_incoming_ready_cb,
- self);
-
- g_object_unref (tp_file);
+ empathy_ft_handler_new_incoming ((TpFileTransferChannel *) channel,
+ ft_handler_incoming_ready_cb, self);
}
GError *error,
gpointer user_data)
{
- EmpathyFTFactory *factory = user_data;
+ EmpathyFTFactory *factory = EMPATHY_FT_FACTORY (user_data);
g_signal_emit (factory, signals[NEW_FT_HANDLER], 0, handler, error);
+
+ g_object_unref (factory);
}
/* public methods */
g_return_if_fail (G_IS_FILE (source));
empathy_ft_handler_new_outgoing (contact, source, action_time,
- ft_handler_outgoing_ready_cb, factory);
+ ft_handler_outgoing_ready_cb, g_object_ref (factory));
}
/**