2000-05-30 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/e-book-view-listener.c, backend/ebook/e-book-view-listener.h, backend/ebook/e-book-view.c, backend/ebook/e-book-view.h, backend/idl/addressbook.idl, backend/pas/pas-backend-file.c, backend/pas/pas-backend-ldap.c, backend/pas/pas-book-factory.c, backend/pas/pas-book-view.c, backend/pas/pas-book-view.h: Added "sequence_complete" signal. * printing/e-contact-print.c: Made printing wait for "sequence_complete" signal and made it sort. svn path=/trunk/; revision=3279
134 lines
3.4 KiB
Plaintext
134 lines
3.4 KiB
Plaintext
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
/*
|
|
*
|
|
* Author:
|
|
* Nat Friedman (nat@helixcode.com)
|
|
*
|
|
* Copyright 2000, Helix Code, Inc.
|
|
*/
|
|
|
|
#include <Bonobo.idl>
|
|
|
|
module Evolution {
|
|
|
|
typedef string CardId;
|
|
typedef string VCard;
|
|
typedef sequence<VCard> VCardList;
|
|
|
|
interface CardCursor : Bonobo::Unknown {
|
|
long get_length ();
|
|
string get_nth (in long n);
|
|
};
|
|
|
|
/*
|
|
* A book view is a live view of a book. It's either a view
|
|
* of all the cards in the book or a view of a query. When
|
|
* created, it will get a series of signal_card_added calls
|
|
* for all objects in the initial set. After that, it will
|
|
* get added, removed, or changed signals whenever the book
|
|
* changes (if it affects the set of viewed cards.)
|
|
*/
|
|
interface BookViewListener : Bonobo::Unknown {
|
|
void signal_card_added (in VCardList cards);
|
|
void signal_card_removed (in CardId id);
|
|
void signal_card_changed (in VCardList cards);
|
|
void signal_sequence_complete ();
|
|
};
|
|
|
|
interface BookView : Bonobo::Unknown {
|
|
};
|
|
|
|
interface Book : Bonobo::Unknown {
|
|
/*
|
|
* Fetching cards in the addresbook.
|
|
*/
|
|
VCard get_vcard (in CardId id);
|
|
|
|
/*
|
|
* Permissions. the first form is general write
|
|
* permission (whether or not the user can add or
|
|
* remove or modify any entry in the addressbook.)
|
|
*
|
|
* if can_write returns TRUE, can_write_card can still
|
|
* return FALSE if the user doesn't have permission to
|
|
* modify/remove that specific card.
|
|
*/
|
|
boolean can_write ();
|
|
boolean can_write_card (in CardId Id);
|
|
|
|
/*
|
|
* Adding and deleting cards in the book.
|
|
*/
|
|
void create_card (in VCard vcard);
|
|
void remove_card (in CardId Id);
|
|
|
|
/*
|
|
* Modifying cards in the addressbook.
|
|
*/
|
|
void modify_card (in VCard vcard);
|
|
|
|
/*
|
|
* These two functions return a cursor to the book
|
|
* listener. This is for people who want a snapshot
|
|
* of the addressbook. The syntax for the query
|
|
* string is not yet defined.
|
|
*/
|
|
void get_cursor (in string query);
|
|
|
|
/*
|
|
* These two functions return a book view to the book
|
|
* listener. This is for people who want a live view
|
|
* of the addressbook.
|
|
*/
|
|
void get_book_view(in BookViewListener listener, in string query);
|
|
|
|
void check_connection ();
|
|
|
|
string get_name ();
|
|
};
|
|
|
|
interface BookListener : Bonobo::Unknown {
|
|
|
|
enum CallStatus {
|
|
Success,
|
|
RepositoryOffline,
|
|
PermissionDenied,
|
|
CardNotFound,
|
|
ProtocolNotSupported,
|
|
OtherError
|
|
};
|
|
|
|
void respond_create_card (in CallStatus status, in CardId Id);
|
|
|
|
void respond_remove_card (in CallStatus status);
|
|
|
|
void respond_modify_card (in CallStatus status);
|
|
|
|
void report_open_book_progress (in string status_message, in short percent);
|
|
|
|
void respond_open_book (in CallStatus status, in Book book);
|
|
|
|
void respond_get_cursor (in CallStatus status, in CardCursor cursor);
|
|
|
|
void respond_get_view (in CallStatus status, in BookView view);
|
|
|
|
/**
|
|
* report_connection_status:
|
|
*
|
|
* Used to report changes in the connection to the
|
|
* contact repository. This is often a response to a
|
|
* call to check_connection() on the Book, but wombat
|
|
* is free to report the connection status without
|
|
* being asked.
|
|
*/
|
|
void report_connection_status (in boolean connected);
|
|
};
|
|
|
|
interface BookFactory : Bonobo::Unknown {
|
|
exception ProtocolNotSupported {};
|
|
|
|
void open_book (in string uri, in BookListener listener)
|
|
raises (ProtocolNotSupported);
|
|
};
|
|
};
|