#ifndef __EMPATHY_EVENT_MANAGER_H__
#define __EMPATHY_EVENT_MANAGER_H__
-#include <glib.h>
#include <glib-object.h>
-#include <libempathy/empathy-contact.h>
+#include "empathy-contact.h"
G_BEGIN_DECLS
GObjectClass parent_class;
};
+typedef enum {
+ EMPATHY_EVENT_TYPE_CHAT,
+ EMPATHY_EVENT_TYPE_CALL,
+ EMPATHY_EVENT_TYPE_TRANSFER,
+ EMPATHY_EVENT_TYPE_SUBSCRIPTION,
+ EMPATHY_EVENT_TYPE_PRESENCE_ONLINE,
+ EMPATHY_EVENT_TYPE_PRESENCE_OFFLINE,
+ EMPATHY_EVENT_TYPE_INVITATION,
+ EMPATHY_EVENT_TYPE_AUTH,
+ EMPATHY_EVENT_TYPE_MENTIONED,
+} EmpathyEventType;
+
typedef struct {
- EmpathyContact *contact;
- gchar *icon_name;
- gchar *header;
- gchar *message;
- gboolean must_ack;
+ TpAccount *account;
+ EmpathyContact *contact;
+ EmpathyEventType type;
+ gchar *icon_name;
+ gchar *header;
+ gchar *message;
+ gboolean must_ack;
+ GObject *handler_instance;
+ guint roster_view_id;
} EmpathyEvent;
GType empathy_event_manager_get_type (void) G_GNUC_CONST;
GSList * empathy_event_manager_get_events (EmpathyEventManager *manager);
void empathy_event_activate (EmpathyEvent *event);
void empathy_event_inhibit_updates (EmpathyEvent *event);
+void empathy_event_approve (EmpathyEvent *event);
+void empathy_event_decline (EmpathyEvent *event);
+void empathy_event_remove (EmpathyEvent *event);
G_END_DECLS