]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-roster-model-aggregator.h
individual-menu: stop creating single_individual
[empathy.git] / libempathy-gtk / empathy-roster-model-aggregator.h
index 2beb3c00bbddd7010ab7b076b9f002dd7c30ef8c..3b9c0202bef6c3cde4053fe2af9f2671e192e13b 100644 (file)
 #define __EMPATHY_ROSTER_MODEL_AGGREGATOR_H__
 
 #include <glib-object.h>
+#include <folks/folks.h>
+
+#include "empathy-roster-model.h"
 
 G_BEGIN_DECLS
 
 typedef struct _EmpathyRosterModelAggregator EmpathyRosterModelAggregator;
-typedef struct _EmpathyRosterModelAggregatorClass EmpathyRosterModelAggregatorClass;
-typedef struct _EmpathyRosterModelAggregatorPriv EmpathyRosterModelAggregatorPriv;
+typedef struct _EmpathyRosterModelAggregatorClass
+EmpathyRosterModelAggregatorClass;
+typedef struct _EmpathyRosterModelAggregatorPriv
+EmpathyRosterModelAggregatorPriv;
 
 struct _EmpathyRosterModelAggregatorClass
 {
@@ -43,6 +48,11 @@ struct _EmpathyRosterModelAggregator
   EmpathyRosterModelAggregatorPriv *priv;
 };
 
+typedef gboolean (* EmpathyRosterModelAggregatorFilterFunc) (
+    EmpathyRosterModel *model,
+    FolksIndividual *individual,
+    gpointer user_data);
+
 GType empathy_roster_model_aggregator_get_type (void);
 
 /* TYPE MACROS */
@@ -67,7 +77,15 @@ GType empathy_roster_model_aggregator_get_type (void);
     EMPATHY_TYPE_ROSTER_MODEL_AGGREGATOR, \
     EmpathyRosterModelAggregatorClass))
 
-EmpathyRosterModelAggregator * empathy_roster_model_aggregator_new (void);
+EmpathyRosterModelAggregator * empathy_roster_model_aggregator_new (
+    EmpathyRosterModelAggregatorFilterFunc filter_func,
+    gpointer user_data);
+
+EmpathyRosterModelAggregator *
+empathy_roster_model_aggregator_new_with_aggregator (
+    FolksIndividualAggregator *aggregator,
+    EmpathyRosterModelAggregatorFilterFunc filter_func,
+    gpointer user_data);
 
 G_END_DECLS