#include <string.h>
#include <telepathy-glib/util.h>
-#ifdef ENABLE_TPL
#include <telepathy-glib/account.h>
#include <telepathy-glib/account-manager.h>
-#include <telepathy-logger/contact.h>
-#include <telepathy-logger/log-entry.h>
-#include <telepathy-logger/log-entry-text.h>
-#endif /* ENABLE_TPL */
+#include <telepathy-logger/entity.h>
+#include <telepathy-logger/entry.h>
+#include <telepathy-logger/entry-text.h>
#include "empathy-message.h"
#include "empathy-utils.h"
NULL);
}
-#ifdef ENABLE_TPL
EmpathyMessage *
-empathy_message_from_tpl_log_entry (TplLogEntry *logentry)
+empathy_message_from_tpl_log_entry (TplEntry *logentry)
{
EmpathyMessage *retval = NULL;
TpAccountManager *acc_man = NULL;
TpAccount *account = NULL;
- TplContact *receiver = NULL;
- TplContact *sender = NULL;
+ TplEntity *receiver = NULL;
+ TplEntity *sender = NULL;
gchar *body= NULL;
+ EmpathyContact *contact;
- g_return_val_if_fail (TPL_IS_LOG_ENTRY (logentry), NULL);
+ g_return_val_if_fail (TPL_IS_ENTRY (logentry), NULL);
acc_man = tp_account_manager_dup ();
/* FIXME Currently Empathy shows in the log viewer only valid accounts, so it
* When #610455 will be fixed, calling tp_account_manager_ensure_account ()
* might add a not existing account to the AM. tp_account_new () probably
* will be the best way to handle it.
- * Note: When creating an EmpathyContact from a TplContact instance, the
+ * Note: When creating an EmpathyContact from a TplEntity instance, the
* TpAccount is passed *only* to let EmpathyContact be able to retrieve the
* avatar (contact_get_avatar_filename () need a TpAccount).
* If the way EmpathyContact stores the avatar is changes, it might not be
* needed anymore any TpAccount passing and the following call will be
* useless */
account = tp_account_manager_ensure_account (acc_man,
- tpl_log_entry_get_account_path (logentry));
+ tpl_entry_get_account_path (logentry));
g_object_unref (acc_man);
- /* TODO Currently only TplLogEntryText exists as subclass of TplLogEntry, in
- * future more TplLogEntry will exist and EmpathyMessage should probably
+ /* TODO Currently only TplLogEntryText exists as subclass of TplEntry, in
+ * future more TplEntry will exist and EmpathyMessage should probably
* be enhanced to support other types of log entries (ie TplLogEntryCall).
*
* For now we just check (simply) that we are dealing with the only supported type,
* then there will be a if/then/else or switch handling all the supported
* cases.
*/
- if (!TPL_IS_LOG_ENTRY_TEXT (logentry))
+ if (!TPL_IS_ENTRY_TEXT (logentry))
return NULL;
- body = g_strdup (tpl_log_entry_text_get_message (
- TPL_LOG_ENTRY_TEXT (logentry)));
- receiver = tpl_log_entry_text_get_receiver (TPL_LOG_ENTRY_TEXT (logentry));
- sender = tpl_log_entry_text_get_sender (TPL_LOG_ENTRY_TEXT (logentry));
+ body = g_strdup (tpl_entry_text_get_message (
+ TPL_ENTRY_TEXT (logentry)));
+ receiver = tpl_entry_get_receiver (logentry);
+ sender = tpl_entry_get_sender (logentry);
retval = empathy_message_new (body);
- if (receiver != NULL)
- empathy_message_set_receiver (retval,
- empathy_contact_from_tpl_contact (account, receiver));
- if (sender != NULL)
- empathy_message_set_sender (retval,
- empathy_contact_from_tpl_contact (account, sender));
+ if (receiver != NULL) {
+ contact = empathy_contact_from_tpl_contact (account, receiver);
+ empathy_message_set_receiver (retval, contact);
+ g_object_unref (contact);
+ }
+
+ if (sender != NULL) {
+ contact = empathy_contact_from_tpl_contact (account, sender);
+ empathy_message_set_sender (retval, contact);
+ g_object_unref (contact);
+ }
empathy_message_set_timestamp (retval,
- tpl_log_entry_get_timestamp (logentry));
+ tpl_entry_get_timestamp (logentry));
empathy_message_set_id (retval,
- tpl_log_entry_text_get_log_id (TPL_LOG_ENTRY_TEXT (logentry)));
- empathy_message_set_is_backlog (retval, FALSE);
+ tpl_entry_text_get_pending_msg_id (TPL_ENTRY_TEXT (logentry)));
+ empathy_message_set_is_backlog (retval, TRUE);
g_free (body);
return retval;
}
-#endif /* ENABLE_TPL */
TpChannelTextMessageType
empathy_message_get_tptype (EmpathyMessage *message)
return FALSE;
}
- to = empathy_contact_get_name (contact);
+ to = empathy_contact_get_alias (contact);
if (!to) {
return FALSE;
}
return "notice";
case TP_CHANNEL_TEXT_MESSAGE_TYPE_AUTO_REPLY:
return "auto-reply";
+ case TP_CHANNEL_TEXT_MESSAGE_TYPE_DELIVERY_REPORT:
+ return "delivery-report";
+ case TP_CHANNEL_TEXT_MESSAGE_TYPE_NORMAL:
default:
return "normal";
}