GObjectClass parent_class;
};
+typedef struct {
+ gchar *name;
+ guint id;
+ TpPropertyFlags flags;
+ GValue *value;
+} EmpathyTpChatProperty;
+
GType empathy_tp_chat_get_type (void) G_GNUC_CONST;
EmpathyTpChat *empathy_tp_chat_new (TpChannel *channel);
-void empathy_tp_chat_close (EmpathyTpChat *chat);
const gchar * empathy_tp_chat_get_id (EmpathyTpChat *chat);
EmpathyContact *empathy_tp_chat_get_remote_contact (EmpathyTpChat *chat);
TpChannel * empathy_tp_chat_get_channel (EmpathyTpChat *chat);
void empathy_tp_chat_set_property (EmpathyTpChat *chat,
const gchar *name,
const GValue *value);
+EmpathyTpChatProperty *
+ empathy_tp_chat_get_property (EmpathyTpChat *chat,
+ const gchar *name);
+GPtrArray * empathy_tp_chat_get_properties (EmpathyTpChat *chat);
/* Returns a read-only list of pending messages (should be a copy maybe ?) */
const GList * empathy_tp_chat_get_pending_messages (EmpathyTpChat *chat);
void empathy_tp_chat_acknowledge_message (EmpathyTpChat *chat,
EmpathyMessage *message);
void empathy_tp_chat_acknowledge_messages (EmpathyTpChat *chat,
- const GList *messages);
+ const GSList *messages);
+void empathy_tp_chat_acknowledge_all_messages (EmpathyTpChat *chat);
+
+gboolean empathy_tp_chat_password_needed (EmpathyTpChat *chat);
+
+void empathy_tp_chat_provide_password_async (EmpathyTpChat *chat,
+ const gchar *password,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+
+gboolean empathy_tp_chat_provide_password_finish (EmpathyTpChat *chat,
+ GAsyncResult *result,
+ GError **error);
+gboolean empathy_tp_chat_can_add_contact (EmpathyTpChat *self);
+
+void empathy_tp_chat_leave (EmpathyTpChat *chat);
G_END_DECLS