diff options
author | Nat Friedman <nat@src.gnome.org> | 2000-01-25 13:28:18 +0800 |
---|---|---|
committer | Nat Friedman <nat@src.gnome.org> | 2000-01-25 13:28:18 +0800 |
commit | fd4379ff20fe9c9e3b4f4028095b9659687002ff (patch) | |
tree | 78af76526262d746417a1e2007fd712f8d4ce584 /addressbook/backend/ebook/e-book-listener.h | |
parent | a315f0321395423c3c52adb4bb3063c433948dd5 (diff) | |
download | gsoc2013-evolution-fd4379ff20fe9c9e3b4f4028095b9659687002ff.tar gsoc2013-evolution-fd4379ff20fe9c9e3b4f4028095b9659687002ff.tar.gz gsoc2013-evolution-fd4379ff20fe9c9e3b4f4028095b9659687002ff.tar.bz2 gsoc2013-evolution-fd4379ff20fe9c9e3b4f4028095b9659687002ff.tar.lz gsoc2013-evolution-fd4379ff20fe9c9e3b4f4028095b9659687002ff.tar.xz gsoc2013-evolution-fd4379ff20fe9c9e3b4f4028095b9659687002ff.tar.zst gsoc2013-evolution-fd4379ff20fe9c9e3b4f4028095b9659687002ff.zip |
More work.
svn path=/trunk/; revision=1626
Diffstat (limited to 'addressbook/backend/ebook/e-book-listener.h')
-rw-r--r-- | addressbook/backend/ebook/e-book-listener.h | 83 |
1 files changed, 53 insertions, 30 deletions
diff --git a/addressbook/backend/ebook/e-book-listener.h b/addressbook/backend/ebook/e-book-listener.h index 71004a966a..9873edc58c 100644 --- a/addressbook/backend/ebook/e-book-listener.h +++ b/addressbook/backend/ebook/e-book-listener.h @@ -12,47 +12,70 @@ #define __E_BOOK_LISTENER_H__ #include <libgnome/gnome-defs.h> - #include <bonobo/gnome-object.h> #include <e-book.h> - #include <addressbook.h> BEGIN_GNOME_DECLS -typedef struct _EBookListener EBookListener; - -typedef void (*EBookListenerRespondOpenBookCallback) (EBook *book, - EBookStatus status, - Evolution_Book corba_book, - gpointer closure); - -typedef void (*EBookListenerConnectionStatusCallback) (EBook *book, - gboolean connected, - gpointer closure); - -struct _EBookListener { - GnomeObject parent; - - EBook *book; - - gpointer closure; - - EBookCallback create_response; - EBookCallback remove_response; - EBookCallback modify_response; - - EBookOpenProgressCallback open_progress; - EBookListenerRespondOpenBookCallback open_response; - EBookListenerConnectionStatusCallback connect_status; -}; +typedef struct _EBookListenerPrivate EBookListenerPrivate; + +typedef struct { + GnomeObject parent; + EBookListenerPrivate *priv; +} EBookListener; typedef struct { GnomeObjectClass parent; + + /* + * Signals + */ + void (*responses_queued) (void); } EBookListenerClass; -EBookListener *e_book_listener_new (EBook *book); -GtkType e_book_listener_get_type (void); +typedef enum { + /* Async responses */ + OpenBookResponse, + CreateCardResponse, + RemoveCardResponse, + ModifyCardResponse, + + /* Async events */ + CardAddedEvent, + CardRemovedEvent, + CardModifiedEvent, + LinkStatusEvent, + OpenProgressEvent, +} EBookListenerOperation; + +typedef struct { + EBookListenerOperation op; + + /* For most Response notifications */ + EBookStatus status; + + /* For OpenBookResponse */ + Evolution_Book book; + + /* For OpenProgressEvent */ + char *msg; + short percent; + + /* For LinkStatusEvent */ + gboolean connected; + + /* For Card[Added|Removed|Modified]Event */ + char *id; +} EBookListenerResponse; + +EBookListener *e_book_listener_new (EBook *book); +EBook *e_book_listener_get_book (EBookListener *listener); +int e_book_listener_check_pending (EBookListener *listener); +EBookListenerResponse *e_book_listener_pop_response (EBookListener *listener); +GtkType e_book_listener_get_type (void); + +POA_Evolution_BookListener__epv *e_book_listener_get_epv (void); #define E_BOOK_LISTENER_TYPE (e_book_listener_get_type ()) #define E_BOOK_LISTENER(o) (GTK_CHECK_CAST ((o), E_BOOK_LISTENER_TYPE, EBookListener)) |