Statistics
| Revision:

root / src / addrbook.h @ 332

History | View | Annotate | Download (4.5 kB)

1 1 hiro
/*
2 1 hiro
 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3 1 hiro
 * Copyright                 (C) 2001 Match Grun
4 1 hiro
 *
5 1 hiro
 * This program is free software; you can redistribute it and/or modify
6 1 hiro
 * it under the terms of the GNU General Public License as published by
7 1 hiro
 * the Free Software Foundation; either version 2 of the License, or
8 1 hiro
 *                 (at your option) any later version.
9 1 hiro
 *
10 1 hiro
 * This program is distributed in the hope that it will be useful,
11 1 hiro
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 1 hiro
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 1 hiro
 * GNU General Public License for more details.
14 1 hiro
 *
15 1 hiro
 * You should have received a copy of the GNU General Public License
16 1 hiro
 * along with this program; if not, write to the Free Software
17 1 hiro
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 1 hiro
 */
19 1 hiro
20 1 hiro
/*
21 1 hiro
 * Definitions necessary to access external address book files.
22 1 hiro
 */
23 1 hiro
24 1 hiro
#ifndef __ADDRBOOK_H__
25 1 hiro
#define __ADDRBOOK_H__
26 1 hiro
27 1 hiro
#include <stdio.h>
28 1 hiro
#include <glib.h>
29 1 hiro
#include <setjmp.h>
30 1 hiro
31 1 hiro
#include "addritem.h"
32 1 hiro
#include "addrcache.h"
33 1 hiro
34 1 hiro
/* Address book file */
35 1 hiro
typedef struct _AddressBookFile AddressBookFile;
36 1 hiro
37 1 hiro
struct _AddressBookFile {
38 1 hiro
        gchar *name;
39 1 hiro
        gchar *path;
40 1 hiro
        gchar *fileName;
41 1 hiro
        AddressCache *addressCache;
42 1 hiro
        gint  retVal;
43 1 hiro
        gint  maxValue;
44 1 hiro
        GList *tempList;
45 1 hiro
        GHashTable *tempHash;
46 1 hiro
        gboolean readFlag;
47 1 hiro
        gboolean dirtyFlag;
48 1 hiro
        gboolean modifyFlag;
49 1 hiro
        gboolean accessFlag;
50 1 hiro
        jmp_buf jumper;
51 1 hiro
};
52 1 hiro
53 1 hiro
/* Function prototypes */
54 1 hiro
55 1 hiro
AddressBookFile *addrbook_create_book        ( void );
56 1 hiro
void addrbook_empty_book                ( AddressBookFile *book );
57 1 hiro
void addrbook_free_book                        ( AddressBookFile *book );
58 1 hiro
void addrbook_print_book                ( AddressBookFile *book, FILE *stream );
59 1 hiro
void addrbook_dump_hash                        ( AddressBookFile *book, FILE *stream );
60 1 hiro
void addrbook_dump_book                        ( AddressBookFile *book, FILE *stream );
61 1 hiro
void addrbook_set_name                        ( AddressBookFile *book, const gchar *value );
62 1 hiro
void addrbook_set_path                        ( AddressBookFile *book, const gchar *value );
63 1 hiro
void addrbook_set_file                        ( AddressBookFile *book, const gchar *value );
64 1 hiro
void addrbook_set_accessed                ( AddressBookFile *book, const gboolean value );
65 1 hiro
gboolean addrbook_get_modified                ( AddressBookFile *book );
66 1 hiro
gboolean addrbook_get_accessed                ( AddressBookFile *book );
67 1 hiro
gboolean addrbook_get_read_flag                ( AddressBookFile *book );
68 1 hiro
gint addrbook_get_status                ( AddressBookFile *book );
69 1 hiro
ItemFolder *addrbook_get_root_folder        ( AddressBookFile *book );
70 1 hiro
GList *addrbook_get_list_folder                ( AddressBookFile *book );
71 1 hiro
GList *addrbook_get_list_person                ( AddressBookFile *book );
72 1 hiro
gchar *addrbook_get_name                ( AddressBookFile *book );
73 1 hiro
74 1 hiro
ItemPerson *addrbook_remove_person        ( AddressBookFile *book, ItemPerson *person );
75 1 hiro
ItemGroup *addrbook_remove_group        ( AddressBookFile *book, ItemGroup *group );
76 1 hiro
ItemEMail *addrbook_person_remove_email        ( AddressBookFile *book, ItemPerson *person,
77 1 hiro
                                          ItemEMail *email );
78 1 hiro
79 1 hiro
gint addrbook_read_data                        ( AddressBookFile *book );
80 1 hiro
gint addrbook_save_data                        ( AddressBookFile *book );
81 1 hiro
82 1 hiro
ItemEMail *addrbook_move_email_before        ( AddressBookFile *book, ItemPerson *person,
83 1 hiro
                                          ItemEMail *itemMove, ItemEMail *itemTarget );
84 1 hiro
ItemEMail *addrbook_move_email_after        ( AddressBookFile *book, ItemPerson *person,
85 1 hiro
                                          ItemEMail *itemMove, ItemEMail *itemTarget );
86 1 hiro
87 1 hiro
void addrbook_update_address_list        ( AddressBookFile *book, ItemPerson *person,
88 1 hiro
                                          GList *listEMail );
89 1 hiro
ItemPerson *addrbook_add_address_list        ( AddressBookFile *book, ItemFolder *folder,
90 1 hiro
                                          GList *listEMail );
91 1 hiro
GList *addrbook_get_available_email_list( AddressBookFile *book, ItemGroup *group );
92 1 hiro
void addrbook_update_group_list                ( AddressBookFile *book, ItemGroup *group,
93 1 hiro
                                          GList *listEMail );
94 1 hiro
ItemGroup *addrbook_add_group_list        ( AddressBookFile *book, ItemFolder *folder,
95 1 hiro
                                          GList *listEMail );
96 1 hiro
ItemFolder *addrbook_add_new_folder        ( AddressBookFile *book, ItemFolder *parent );
97 1 hiro
98 1 hiro
void addrbook_update_attrib_list        ( AddressBookFile *book, ItemPerson *person, GList *listAttrib );
99 1 hiro
void addrbook_add_attrib_list                ( AddressBookFile *book, ItemPerson *person, GList *listAttrib );
100 1 hiro
101 1 hiro
ItemFolder *addrbook_remove_folder        ( AddressBookFile *book, ItemFolder *folder );
102 1 hiro
ItemFolder *addrbook_remove_folder_delete( AddressBookFile *book, ItemFolder *folder );
103 1 hiro
104 1 hiro
GList *addrbook_get_bookfile_list        ( AddressBookFile *book );
105 1 hiro
gchar *addrbook_gen_new_file_name        ( gint fileNum );
106 1 hiro
gint addrbook_test_read_file                ( AddressBookFile *book, gchar *fileName );
107 1 hiro
108 1 hiro
GList *addrbook_get_all_persons                ( AddressBookFile *book );
109 1 hiro
110 1 hiro
ItemPerson *addrbook_add_contact        ( AddressBookFile *book, ItemFolder *folder,
111 1 hiro
                                          const gchar *name, const gchar *address,
112 1 hiro
                                          const gchar *remarks );
113 1 hiro
114 1 hiro
#endif /* __ADDRBOOK_H__ */