aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/idl
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/backend/idl')
-rw-r--r--addressbook/backend/idl/Makefile.am6
-rw-r--r--addressbook/backend/idl/addressbook.idl71
2 files changed, 77 insertions, 0 deletions
diff --git a/addressbook/backend/idl/Makefile.am b/addressbook/backend/idl/Makefile.am
new file mode 100644
index 0000000000..db61d2c30c
--- /dev/null
+++ b/addressbook/backend/idl/Makefile.am
@@ -0,0 +1,6 @@
+idldir = $(datadir)/idl
+
+idl_DATA = \
+ addressbook.idl
+
+EXTRA_DIST = $(idl_DATA)
diff --git a/addressbook/backend/idl/addressbook.idl b/addressbook/backend/idl/addressbook.idl
new file mode 100644
index 0000000000..a8f6a89f59
--- /dev/null
+++ b/addressbook/backend/idl/addressbook.idl
@@ -0,0 +1,71 @@
+/*
+ *
+ * Author:
+ * Nat Friedman (nat@helixcode.com)
+ *
+ * Copyright 2000, Helix Code, Inc.
+ */
+
+#include <gnome-unknown.idl>
+
+module Evolution {
+
+ typedef string CardId;
+
+ interface CardCursor {
+ };
+
+ interface Book : GNOME::Unknown {
+
+ /*
+ * Fetching cards in the addresbook.
+ */
+ string get_vcard (in CardId id);
+
+ /*
+ * Adding and deleting cards in the book.
+ */
+ void create_card (in string vcard);
+ void remove_card (in CardId Id);
+
+ /*
+ * Modifying cards in the addressbook.
+ */
+ void modify_card (in CardId id, in string vcard);
+ };
+
+ interface BookListener : GNOME::Unknown {
+
+ enum CallStatus {
+ RepositoryOffline,
+ PermissionDenied,
+ CardNotFound,
+ ProtocolNotSupported
+ };
+
+ void respond_create_card (in CallStatus status);
+
+ 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);
+
+ /**
+ * 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 : GNOME::Unknown {
+ void open_book (in string uri, in BookListener listener);
+ };
+};