1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
/*
* An abstract class which defines the API to a given backend.
* There will be one PASBackend object for every URI which is loaded.
*
* Two people will call into the PASBackend API:
*
* 1. The PASBookFactory, when it has been asked to load a book.
* It will create a new PASBackend if one is not already running
* for the requested URI. It will call pas_backend_add_client to
* add a new client to an existing PASBackend server.
*
* 2. A PASBook, when a client has requested an operation on the
* Evolution_Book interface.
*
* Author:
* Nat Friedman (nat@helixcode.com)
*
* Copyright 2000, Helix Code, Inc.
*/
#ifndef __PAS_BACKEND_H__
#define __PAS_BACKEND_H__
typedef struct _PASBackendPrivate PASBackendPrivate;
typedef struct {
GtkObject parent_object;
PASBackendPrivate *priv;
} PASBackend;
typedef struct {
GtkObjectClass parent_class;
} PASBackendClass;
PASBackend *pas_backend_new (void);
void pas_backend_load_uri (PASBackend *backend,
char *uri);
void pas_backend_add_client (PASBackend *backend,
Evolution_BookListener listener);
void pas_backend_remove_client (PASBackend *backend,
Evolution_BookListener listener);
/* Synchronous operations. */
char *pas_backend_get_vcard (PASBackend *backend,
PASBook *book,
char *id);
/* Asynchronous operations. */
void pas_backend_queue_create_card (PASBackend *backend,
PASBook *book,
char *vcard);
void pas_backend_queue_remove_card (PASBackend *backend,
PASBook *book,
char *id);
void pas_backend_queue_modify_card (PASBackend *backend,
PASBook *book,
char *id,
char *vcard);
GtkType pas_backend_get_type (void);
#define PAS_BACKEND_TYPE (pas_backend_get_type ())
#define PAS_BACKEND(o) (GTK_CHECK_CAST ((o), PAS_BACKEND_TYPE, PASBackend))
#define PAS_BACKEND_CLASS(k) (GTK_CHECK_CLASS_CAST((k), PAS_BACKEND_TYPE, PASBackendClass))
#define PAS_IS_BACKEND(o) (GTK_CHECK_TYPE ((o), PAS_BACKEND_TYPE))
#define PAS_IS_BACKEND_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), PAS_BACKEND_TYPE))
#endif /* ! __PAS_BACKEND_H__ */
|