Statistics
| Revision:

root / src / jpilot.h @ 1

History | View | Annotate | Download (4.13 KB)

1
/*
2
 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3
 * Copyright (C) 2001 Match Grun
4
 *
5
 * This program is free software; you can redistribute it and/or modify
6
 * it under the terms of the GNU General Public License as published by
7
 * the Free Software Foundation; either version 2 of the License, or
8
 * (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
 */
19

    
20
/*
21
 * Definitions for accessing JPilot database files.
22
 * JPilot is Copyright(c) by Judd Montgomery.
23
 * Visit http://www.jpilot.org for more details.
24
 */
25

    
26
#ifndef __JPILOT_H__
27
#define __JPILOT_H__
28

    
29
#ifdef HAVE_CONFIG_H
30
#  include "config.h"
31
#endif
32

    
33
#ifdef USE_JPILOT
34

    
35
#include <glib.h>
36
#include <stdio.h>
37

    
38
#ifdef HAVE_LIBPISOCK_PI_ADDRESS_H
39
#  include <libpisock/pi-address.h>
40
#else
41
#  include <pi-address.h>
42
#endif
43

    
44
#include "addritem.h"
45
#include "addrcache.h"
46

    
47
typedef struct _JPilotFile JPilotFile;
48

    
49
struct _JPilotFile {
50
        gchar                 *name;
51
        FILE                  *file;
52
        gchar                 *path;
53
        AddressCache          *addressCache;
54
        struct AddressAppInfo addrInfo;
55
        gboolean              readMetadata;
56
        GList                 *customLabels;
57
        GList                 *labelInd;
58
        gint                  retVal;
59
        gboolean              accessFlag;
60
        gboolean              havePC3;
61
        time_t                pc3ModifyTime;
62
};
63

    
64
/* Limits */
65
#define JPILOT_NUM_LABELS        22        /* Number of labels */
66
#define JPILOT_NUM_PHONELABELS        8         /* Number of phone number labels */
67
#define JPILOT_NUM_CATEG        16        /* Number of categories */
68
#define JPILOT_LEN_LABEL        15        /* Max length of label */
69
#define JPILOT_LEN_CATEG        15        /* Max length of category */
70
#define JPILOT_NUM_ADDR_PHONE        5        /* Number of phone entries a person
71
                                           can have */
72

    
73
/* Function prototypes */
74
JPilotFile *jpilot_create                ( void );
75
JPilotFile *jpilot_create_path                ( const gchar *path );
76
void jpilot_set_name                        ( JPilotFile* pilotFile, const gchar *value );
77
void jpilot_set_file                        ( JPilotFile* pilotFile, const gchar *value );
78
void jpilot_free                        ( JPilotFile *pilotFile );
79
gint jpilot_get_status                        ( JPilotFile *pilotFile );
80
gboolean jpilot_get_modified                ( JPilotFile *pilotFile );
81
gboolean jpilot_get_accessed                ( JPilotFile *pilotFile );
82
void jpilot_set_accessed                ( JPilotFile *pilotFile, const gboolean value );
83
gboolean jpilot_get_read_flag                ( JPilotFile *pilotFile );
84
ItemFolder *jpilot_get_root_folder        ( JPilotFile *pilotFile );
85
gchar *jpilot_get_name                        ( JPilotFile *pilotFile );
86

    
87
void jpilot_force_refresh                ( JPilotFile *pilotFile );
88
void jpilot_print_file                        ( JPilotFile *jpilotFile, FILE *stream );
89
void jpilot_print_short                        ( JPilotFile *pilotFile, FILE *stream );
90
gint jpilot_read_data                        ( JPilotFile *pilotFile );
91
GList *jpilot_get_list_person                ( JPilotFile *pilotFile );
92
GList *jpilot_get_list_folder                ( JPilotFile *pilotFile );
93
GList *jpilot_get_all_persons                ( JPilotFile *pilotFile );
94

    
95
GList *jpilot_load_label                ( JPilotFile *pilotFile, GList *labelList );
96
GList *jpilot_get_category_list                ( JPilotFile *pilotFile );
97
gchar *jpilot_get_category_name                ( JPilotFile *pilotFile, gint catID );
98
GList *jpilot_load_phone_label                ( JPilotFile *pilotFile, GList *labelList );
99
GList *jpilot_load_custom_label                ( JPilotFile *pilotFile, GList *labelList );
100

    
101
gboolean jpilot_validate                ( const JPilotFile *pilotFile );
102
gchar *jpilot_find_pilotdb                ( void );
103

    
104
gint jpilot_test_read_file                ( const gchar *fileSpec );
105

    
106
void jpilot_clear_custom_labels                ( JPilotFile *pilotFile );
107
void jpilot_add_custom_label                ( JPilotFile *pilotFile, const gchar *labelName );
108
GList *jpilot_get_custom_labels                ( JPilotFile *pilotFile );
109
gboolean jpilot_test_custom_label        ( JPilotFile *pilotFile, const gchar *labelName );
110
/* gboolean jpilot_test_pilot_lib                ( void ); */
111

    
112
gint jpilot_read_modified                ( JPilotFile *pilotFile );
113

    
114
#endif /* USE_JPILOT */
115

    
116
#endif /* __JPILOT_H__ */