From 2f1705c6c0d747e708a34b089c4b6ebfc7832022 Mon Sep 17 00:00:00 2001 From: Nat Friedman Date: Tue, 18 Jan 2000 03:31:07 +0000 Subject: A precommit so Federico can see. svn path=/trunk/; revision=1584 --- addressbook/backend/ebook/e-book.h | 106 +++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 addressbook/backend/ebook/e-book.h (limited to 'addressbook/backend/ebook/e-book.h') diff --git a/addressbook/backend/ebook/e-book.h b/addressbook/backend/ebook/e-book.h new file mode 100644 index 0000000000..892f99fb53 --- /dev/null +++ b/addressbook/backend/ebook/e-book.h @@ -0,0 +1,106 @@ +/* + * The Evolution addressbook client object. + * + * Author: + * Nat Friedman (nat@helixcode.com) + * + * Copyright 1999, 2000, Helix Code, Inc. + */ + +#ifndef __E_BOOK_H__ +#define __E_BOOK_H__ + +#include + +#include + +BEGIN_GNOME_DECLS + +typedef enum { + E_BOOK_STATUS_SUCCESS, + E_BOOK_STATUS_UNKNOWN, + E_BOOK_STATUS_REPOSITORY_OFFLINE, + E_BOOK_STATUS_PERMISSION_DENIED, + E_BOOK_STATUS_CARD_NOT_FOUND +} EBookStatus; + +typedef struct _EBookPrivate EBookPrivate; + +typedef struct { + GtkObject parent; + EBookPrivate *priv; +} EBook; + +typedef struct { + GtkObjectClass parent; + + /* + * Signals. + */ + void (* card_changed) (const char *id); + void (* card_removed) (const char *id); + void (* card_added) (const char *id); + void (* link_status) (gboolean connected); +} EBookClass; + +/* Callbacks for asynchronous functions. */ +typedef void (*EBookCallback) (EBook *book, EBookStatus status, gpointer closure); +typedef void (*EBookOpenProgressCallback) (EBook *book, + const char *status_message, + short percent, + gpointer closure); + + +/* Creating a new addressbook. */ +EBook *e_book_new (const char *uri, + EBookOpenProgressCallback progress_cb, + EBookCallback open_response, + gpointer closure); +GtkType e_book_get_type (void); + +/* Fetching cards. */ +ECard *e_book_get_card (EBook *book, + char *id); +char *e_book_get_vcard (EBook *book, + char *id); + +/* Deleting cards. */ +void e_book_remove_card (EBook *book, + ECard *card, + EBookCallback cb, + gpointer closure); +void e_book_remove_card_by_id (EBook *book, + char *id, + EBookCallback cb, + gpointer closure); + +/* Adding cards. */ +void e_book_add_card (EBook *book, + ECard *card, + EBookCallback cb, + gpointer closure); +void e_book_add_vcard (EBook *book, + char *vcard, + char *id, + EBookCallback cb, + gpointer closure); + +/* Modifying cards. */ +void e_book_commit_card (EBook *book, + ECard *card, + EBookCallback cb, + gpointer closure); +void e_book_commit_vcard (EBook *book, + char *vcard, + EBookCallback cb, + gpointer closure); + +#define E_BOOK_TYPE (e_book_get_type ()) +#define E_BOOK(o) (GTK_CHECK_CAST ((o), E_BOOK_TYPE, EBook)) +#define E_BOOK_CLASS(k) (GTK_CHECK_CLASS_CAST((k), E_BOOK_TYPE, EBookClass)) +#define E_IS_BOOK(o) (GTK_CHECK_TYPE ((o), E_BOOK_TYPE)) +#define E_IS_BOOK_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_BOOK_TYPE)) + +END_GNOME_DECLS + +#endif /* ! __E_BOOK_H__ */ -- cgit v1.2.3