aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook/e-book-view-listener.h
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/backend/ebook/e-book-view-listener.h')
-rw-r--r--addressbook/backend/ebook/e-book-view-listener.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/addressbook/backend/ebook/e-book-view-listener.h b/addressbook/backend/ebook/e-book-view-listener.h
new file mode 100644
index 0000000000..65d20a3489
--- /dev/null
+++ b/addressbook/backend/ebook/e-book-view-listener.h
@@ -0,0 +1,72 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * A client-side GtkObject which exposes the
+ * Evolution:BookViewListener interface.
+ *
+ * Author:
+ * Nat Friedman (nat@helixcode.com)
+ *
+ * Copyright 2000, Helix Code, Inc.
+ */
+
+#ifndef __E_BOOK_VIEW_LISTENER_H__
+#define __E_BOOK_VIEW_LISTENER_H__
+
+#include <libgnome/gnome-defs.h>
+#include <bonobo/bonobo-object.h>
+#include <addressbook.h>
+
+BEGIN_GNOME_DECLS
+
+typedef struct _EBookViewListener EBookViewListener;
+typedef struct _EBookViewListenerClass EBookViewListenerClass;
+typedef struct _EBookViewListenerPrivate EBookViewListenerPrivate;
+
+struct _EBookViewListener {
+ BonoboObject parent;
+ EBookViewListenerPrivate *priv;
+};
+
+struct _EBookViewListenerClass {
+ BonoboObjectClass parent;
+
+ /*
+ * Signals
+ */
+ void (*responses_queued) (void);
+};
+
+typedef enum {
+ /* Async events */
+ CardAddedEvent,
+ CardRemovedEvent,
+ CardModifiedEvent
+} EBookViewListenerOperation;
+
+typedef struct {
+ EBookViewListenerOperation op;
+
+ /* For CardRemovedEvent */
+ char *id;
+
+ /* For Card[Added|Modified]Event */
+ GList *cards; /* Of type ECard. */
+
+} EBookViewListenerResponse;
+
+EBookViewListener *e_book_view_listener_new (void);
+int e_book_view_listener_check_pending (EBookViewListener *listener);
+EBookViewListenerResponse *e_book_view_listener_pop_response (EBookViewListener *listener);
+GtkType e_book_view_listener_get_type (void);
+
+POA_Evolution_BookViewListener__epv *e_book_view_listener_get_epv (void);
+
+#define E_BOOK_VIEW_LISTENER_TYPE (e_book_view_listener_get_type ())
+#define E_BOOK_VIEW_LISTENER(o) (GTK_CHECK_CAST ((o), E_BOOK_VIEW_LISTENER_TYPE, EBookViewListener))
+#define E_BOOK_VIEW_LISTENER_CLASS(k) (GTK_CHECK_CLASS_CAST((k), E_BOOK_VIEW_LISTENER_TYPE, EBookViewListenerClass))
+#define E_IS_BOOK_VIEW_LISTENER(o) (GTK_CHECK_TYPE ((o), E_BOOK_VIEW_LISTENER_TYPE))
+#define E_IS_BOOK_VIEW_LISTENER_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_BOOK_VIEW_LISTENER_TYPE))
+
+END_GNOME_DECLS
+
+#endif /* ! __E_BOOK_VIEW_LISTENER_H__ */