sort contacts by most recent event
[empathy.git] / libempathy-gtk / empathy-roster-contact.h
1 #ifndef __EMPATHY_ROSTER_CONTACT_H__
2 #define __EMPATHY_ROSTER_CONTACT_H__
3
4 #include <gtk/gtk.h>
5 #include <folks/folks.h>
6 #include "empathy-contact.h"
7
8 G_BEGIN_DECLS
9
10 typedef struct _EmpathyRosterContact EmpathyRosterContact;
11 typedef struct _EmpathyRosterContactClass EmpathyRosterContactClass;
12 typedef struct _EmpathyRosterContactPriv EmpathyRosterContactPriv;
13
14 struct _EmpathyRosterContactClass
15 {
16   /*<private>*/
17   GtkListBoxRowClass parent_class;
18 };
19
20 struct _EmpathyRosterContact
21 {
22   /*<private>*/
23   GtkListBoxRow parent;
24   EmpathyRosterContactPriv *priv;
25 };
26
27 GType empathy_roster_contact_get_type (void);
28
29 /* TYPE MACROS */
30 #define EMPATHY_TYPE_ROSTER_CONTACT \
31   (empathy_roster_contact_get_type ())
32 #define EMPATHY_ROSTER_CONTACT(obj) \
33   (G_TYPE_CHECK_INSTANCE_CAST((obj), \
34     EMPATHY_TYPE_ROSTER_CONTACT, \
35     EmpathyRosterContact))
36 #define EMPATHY_ROSTER_CONTACT_CLASS(klass) \
37   (G_TYPE_CHECK_CLASS_CAST((klass), \
38     EMPATHY_TYPE_ROSTER_CONTACT, \
39     EmpathyRosterContactClass))
40 #define EMPATHY_IS_ROSTER_CONTACT(obj) \
41   (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
42     EMPATHY_TYPE_ROSTER_CONTACT))
43 #define EMPATHY_IS_ROSTER_CONTACT_CLASS(klass) \
44   (G_TYPE_CHECK_CLASS_TYPE((klass), \
45     EMPATHY_TYPE_ROSTER_CONTACT))
46 #define EMPATHY_ROSTER_CONTACT_GET_CLASS(obj) \
47   (G_TYPE_INSTANCE_GET_CLASS ((obj), \
48     EMPATHY_TYPE_ROSTER_CONTACT, \
49     EmpathyRosterContactClass))
50
51 GtkWidget * empathy_roster_contact_new (FolksIndividual *individual,
52     const gchar *group);
53
54 FolksIndividual * empathy_roster_contact_get_individual (EmpathyRosterContact *self);
55
56 EmpathyContact * empathy_roster_contact_get_contact (EmpathyRosterContact *self);
57
58 const gchar * empathy_roster_contact_get_group (EmpathyRosterContact *self);
59
60 gboolean empathy_roster_contact_is_online (EmpathyRosterContact *self);
61
62 void empathy_roster_contact_set_event_icon (EmpathyRosterContact *self,
63     const gchar *icon);
64
65 GdkPixbuf * empathy_roster_contact_get_avatar_pixbuf (
66     EmpathyRosterContact *self);
67
68 gint64 empathy_roster_contact_get_most_recent_timestamp (EmpathyRosterContact *contact);
69
70 G_END_DECLS
71
72 #endif /* #ifndef __EMPATHY_ROSTER_CONTACT_H__*/