summaryrefslogtreecommitdiffabout
path: root/kabc/plugins/sharpdtm/resourcesharpdtm.h
Unidiff
Diffstat (limited to 'kabc/plugins/sharpdtm/resourcesharpdtm.h') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/plugins/sharpdtm/resourcesharpdtm.h149
1 files changed, 149 insertions, 0 deletions
diff --git a/kabc/plugins/sharpdtm/resourcesharpdtm.h b/kabc/plugins/sharpdtm/resourcesharpdtm.h
new file mode 100644
index 0000000..32d0be1
--- a/dev/null
+++ b/kabc/plugins/sharpdtm/resourcesharpdtm.h
@@ -0,0 +1,149 @@
1/*
2 This file is part of libkabc.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library 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 GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
19*/
20
21/*
22Enhanced Version of the file for platform independent KDE tools.
23Copyright (c) 2004 Ulf Schenk
24
25$Id$
26*/
27
28
29#ifndef KABC_RESOURCESHARPDTM_H
30#define KABC_RESOURCESHARPDTM_H
31
32#include <kconfig.h>
33#include <kdirwatch.h>
34
35#include <sys/types.h>
36
37#include "resource.h"
38
39
40namespace KABC {
41
42class ResourceConfigWidget;
43class QtopiaConverter;
44
45/**
46 @internal
47*/
48class ResourceSharpDTM : public Resource
49{
50 Q_OBJECT
51
52public:
53
54 /**
55 Constructor.
56
57 @param cfg The config object where custom resource settings are stored.
58 */
59 ResourceSharpDTM( const KConfig *cfg );
60
61 /**
62 Construct file resource on file @arg fileName using format @arg formatName.
63 */
64 ResourceSharpDTM( const QString &fileName );
65
66 /**
67 * Destructor.
68 */
69 ~ResourceSharpDTM();
70
71 /**
72 Writes the config back.
73 */
74 virtual void writeConfig( KConfig *cfg );
75
76 /**
77 * Tries to open the file and checks for the proper format.
78 * This method should be called before @ref load().
79 */
80 virtual bool doOpen();
81
82 /**
83 * Closes the file again.
84 */
85 virtual void doClose();
86
87 /**
88 * Requests a save ticket, that is used by @ref save()
89 */
90 virtual Ticket *requestSaveTicket();
91
92 /**
93 * Loads all addressees from file to the address book.
94 * Returns true if all addressees could be loaded otherwise false.
95 */
96 virtual bool load();
97
98 /**
99 * Saves all addresses from address book to file.
100 * Returns true if all addressees could be saved otherwise false.
101 *
102 * @param ticket The ticket returned by @ref requestSaveTicket()
103 */
104 virtual bool save( Ticket *ticket );
105
106 /**
107 * Set name of file to be used for saving.
108 */
109 void setFileName( const QString & );
110
111 /**
112 * Return name of file used for loading and saving the address book.
113 */
114 QString fileName() const;
115
116 /**
117 * Remove a addressee from its source.
118 * This method is mainly called by KABC::AddressBook.
119 */
120 virtual void removeAddressee( const Addressee& addr );
121
122 /**
123 * This method is called by an error handler if the application
124 * crashed
125 */
126 virtual void cleanUp();
127
128protected slots:
129 void fileChanged();
130
131protected:
132 void init( const QString &fileName );
133
134 bool lock( const QString &fileName );
135 void unlock( const QString &fileName );
136
137private:
138 QtopiaConverter* mConverter;
139
140 QString mFileName;
141
142 QString mLockUniqueName;
143
144 KDirWatch mDirWatch;
145};
146
147}
148
149#endif