Diffstat (limited to 'pwmanager/pwmanager/serializer.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | pwmanager/pwmanager/serializer.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/pwmanager/pwmanager/serializer.cpp b/pwmanager/pwmanager/serializer.cpp index 507fa30..6c6512e 100644 --- a/pwmanager/pwmanager/serializer.cpp +++ b/pwmanager/pwmanager/serializer.cpp | |||
@@ -11,32 +11,34 @@ | |||
11 | 11 | ||
12 | 12 | ||
13 | /*************************************************************************** | 13 | /*************************************************************************** |
14 | * copyright (C) 2004 by Ulf Schenk | 14 | * copyright (C) 2004 by Ulf Schenk |
15 | * This file is originaly based on version 1.1 of pwmanager | 15 | * This file is originaly based on version 1.1 of pwmanager |
16 | * and was modified to run on embedded devices that run microkde | 16 | * and was modified to run on embedded devices that run microkde |
17 | * | 17 | * |
18 | * $Id$ | 18 | * $Id$ |
19 | **************************************************************************/ | 19 | **************************************************************************/ |
20 | 20 | ||
21 | #include "serializer.h" | 21 | #include "serializer.h" |
22 | #include "pwmexception.h" | 22 | #include "pwmexception.h" |
23 | 23 | ||
24 | #ifdef PWM_EMBEDDED | 24 | #ifdef PWM_EMBEDDED |
25 | #include <kglobal.h> | 25 | #include <kglobal.h> |
26 | #include <klocale.h> | 26 | #include <klocale.h> |
27 | //Added by qt3to4: | ||
28 | #include <Q3CString> | ||
27 | #endif | 29 | #endif |
28 | 30 | ||
29 | /* enable/disable serializer debugging (0/1) */ | 31 | /* enable/disable serializer debugging (0/1) */ |
30 | #define SERIALIZER_DEBUG0 | 32 | #define SERIALIZER_DEBUG0 |
31 | /* use the old xml tags for writing (0/1) */ | 33 | /* use the old xml tags for writing (0/1) */ |
32 | #define USE_OLD_TAGS 0 | 34 | #define USE_OLD_TAGS 0 |
33 | /* write a CDATA section (0/1) */ | 35 | /* write a CDATA section (0/1) */ |
34 | #define WRITE_CDATA_SEC 0 | 36 | #define WRITE_CDATA_SEC 0 |
35 | 37 | ||
36 | 38 | ||
37 | #define META_CREATE_DATE"c" | 39 | #define META_CREATE_DATE"c" |
38 | #define META_VALID_DATE "v" | 40 | #define META_VALID_DATE "v" |
39 | #define META_EXPIRE_DATE"e" | 41 | #define META_EXPIRE_DATE"e" |
40 | #define META_UPDATE_DATE"u" | 42 | #define META_UPDATE_DATE"u" |
41 | #define META_UPDATE_INT "i" | 43 | #define META_UPDATE_INT "i" |
42 | //US ENH : uniqueid and sync information | 44 | //US ENH : uniqueid and sync information |
@@ -133,111 +135,111 @@ | |||
133 | # define ENTRY_BIN_WR ENTRY_BIN_NEW | 135 | # define ENTRY_BIN_WR ENTRY_BIN_NEW |
134 | # define ENTRY_META_WR ENTRY_META_NEW | 136 | # define ENTRY_META_WR ENTRY_META_NEW |
135 | #endif | 137 | #endif |
136 | 138 | ||
137 | 139 | ||
138 | Serializer::Serializer() | 140 | Serializer::Serializer() |
139 | { | 141 | { |
140 | defaultLockStat = true; | 142 | defaultLockStat = true; |
141 | //US BUG: I needed to specify a document name. Otherwise impl will not be created for serializing | 143 | //US BUG: I needed to specify a document name. Otherwise impl will not be created for serializing |
142 | #ifndef PWM_EMBEDDED | 144 | #ifndef PWM_EMBEDDED |
143 | domDoc = new QDomDocument; | 145 | domDoc = new QDomDocument; |
144 | #else | 146 | #else |
145 | domDoc = new QDomDocument("mydoc"); | 147 | domDoc = new QDomDocument("mydoc"); |
146 | #endif | 148 | #endif |
147 | } | 149 | } |
148 | 150 | ||
149 | Serializer::Serializer(const QCString &buffer) | 151 | Serializer::Serializer(const Q3CString &buffer) |
150 | { | 152 | { |
151 | defaultLockStat = true; | 153 | defaultLockStat = true; |
152 | //US BUG: I needed to specify a document name. Otherwise impl will not be created for serializing | 154 | //US BUG: I needed to specify a document name. Otherwise impl will not be created for serializing |
153 | #ifndef PWM_EMBEDDED | 155 | #ifndef PWM_EMBEDDED |
154 | domDoc = new QDomDocument; | 156 | domDoc = new QDomDocument; |
155 | #else | 157 | #else |
156 | domDoc = new QDomDocument("mydoc"); | 158 | domDoc = new QDomDocument("mydoc"); |
157 | #endif | 159 | #endif |
158 | 160 | ||
159 | if (!parseXml(buffer)) { | 161 | if (!parseXml(buffer)) { |
160 | delete domDoc; | 162 | delete domDoc; |
161 | #ifndef PWM_EMBEDDED | 163 | #ifndef PWM_EMBEDDED |
162 | throw PwMException(PwMException::EX_PARSE); | 164 | throw PwMException(PwMException::EX_PARSE); |
163 | #else | 165 | #else |
164 | qDebug("Serializer::Serializer : Parse Exception "); | 166 | qDebug("Serializer::Serializer : Parse Exception "); |
165 | #endif | 167 | #endif |
166 | } | 168 | } |
167 | } | 169 | } |
168 | 170 | ||
169 | Serializer::~Serializer() | 171 | Serializer::~Serializer() |
170 | { | 172 | { |
171 | delete_ifnot_null(domDoc); | 173 | delete_ifnot_null(domDoc); |
172 | } | 174 | } |
173 | 175 | ||
174 | void Serializer::clear() | 176 | void Serializer::clear() |
175 | { | 177 | { |
176 | delete_ifnot_null(domDoc); | 178 | delete_ifnot_null(domDoc); |
177 | domDoc = new QDomDocument; | 179 | domDoc = new QDomDocument; |
178 | } | 180 | } |
179 | 181 | ||
180 | bool Serializer::parseXml(const QCString &buffer) | 182 | bool Serializer::parseXml(const Q3CString &buffer) |
181 | { | 183 | { |
182 | //abort(); | 184 | //abort(); |
183 | //qDebug("parse %s ", buffer.data()); | 185 | //qDebug("parse %s ", buffer.data()); |
184 | PWM_ASSERT(domDoc); | 186 | PWM_ASSERT(domDoc); |
185 | #ifndef PWM_EMBEDDED | 187 | #ifndef PWM_EMBEDDED |
186 | if (!domDoc->setContent(buffer, true)) | 188 | if (!domDoc->setContent(buffer, true)) |
187 | return false; | 189 | return false; |
188 | #else | 190 | #else |
189 | #ifdef DESKTOP_VERSION | 191 | #ifdef DESKTOP_VERSION |
190 | if (!domDoc->setContent(buffer, true)) | 192 | if (!domDoc->setContent(buffer, true)) |
191 | #else | 193 | #else |
192 | if (!domDoc->setContent(buffer)) | 194 | if (!domDoc->setContent(buffer)) |
193 | #endif | 195 | #endif |
194 | return false; | 196 | return false; |
195 | #endif | 197 | #endif |
196 | if (!checkValid()) | 198 | if (!checkValid()) |
197 | return false; | 199 | return false; |
198 | return true; | 200 | return true; |
199 | } | 201 | } |
200 | 202 | ||
201 | QCString Serializer::getXml() | 203 | Q3CString Serializer::getXml() |
202 | { | 204 | { |
203 | PWM_ASSERT(domDoc); | 205 | PWM_ASSERT(domDoc); |
204 | 206 | ||
205 | #ifndef PWM_EMBEDDED | 207 | #ifndef PWM_EMBEDDED |
206 | #if defined(PWM_DEBUG) && SERIALIZER_DEBUG != 0 | 208 | #if defined(PWM_DEBUG) && SERIALIZER_DEBUG != 0 |
207 | QCString tmp(domDoc->toCString(8)); | 209 | Q3CString tmp(domDoc->toCString(8)); |
208 | printDebug("<BEGIN Serializer::getXml() dump>\n"); | 210 | printDebug("<BEGIN Serializer::getXml() dump>\n"); |
209 | cout << tmp << endl; | 211 | cout << tmp << endl; |
210 | printDebug("<END Serializer::getXml() dump>"); | 212 | printDebug("<END Serializer::getXml() dump>"); |
211 | #endif // DEBUG | 213 | #endif // DEBUG |
212 | 214 | ||
213 | QCString ret(domDoc->toCString(0)); | 215 | Q3CString ret(domDoc->toCString(0)); |
214 | ret.replace('\n', ""); | 216 | ret.replace('\n', ""); |
215 | return ret; | 217 | return ret; |
216 | #else | 218 | #else |
217 | 219 | ||
218 | #if defined(PWM_DEBUG) && SERIALIZER_DEBUG != 0 | 220 | #if defined(PWM_DEBUG) && SERIALIZER_DEBUG != 0 |
219 | QCString tmp(" " + domDoc->toCString()); | 221 | Q3CString tmp(" " + domDoc->toCString()); |
220 | printDebug("<BEGIN Serializer::getXml() dump>\n"); | 222 | printDebug("<BEGIN Serializer::getXml() dump>\n"); |
221 | qDebug(tmp); | 223 | qDebug(tmp); |
222 | cout << tmp << endl; | 224 | cout << tmp << endl; |
223 | printDebug("<END Serializer::getXml() dump>"); | 225 | printDebug("<END Serializer::getXml() dump>"); |
224 | #endif // DEBUG | 226 | #endif // DEBUG |
225 | 227 | ||
226 | QCString ret(domDoc->toCString()); | 228 | Q3CString ret(domDoc->toByteArray()); |
227 | ret.replace(QRegExp("\n"), ""); | 229 | ret.replace("\n", ""); |
228 | return ret; | 230 | return ret; |
229 | 231 | ||
230 | #endif | 232 | #endif |
231 | } | 233 | } |
232 | 234 | ||
233 | bool Serializer::serialize(PwMItem &dta) | 235 | bool Serializer::serialize(PwMItem &dta) |
234 | { | 236 | { |
235 | PWM_ASSERT(domDoc); | 237 | PWM_ASSERT(domDoc); |
236 | QDomElement root(genNewRoot()); | 238 | QDomElement root(genNewRoot()); |
237 | QDomElement catNode(domDoc->createElement(CAT_ROOT_WR)); | 239 | QDomElement catNode(domDoc->createElement(CAT_ROOT_WR)); |
238 | QDomElement syncNode(domDoc->createElement(SYNC_ROOT)); | 240 | QDomElement syncNode(domDoc->createElement(SYNC_ROOT)); |
239 | if (!addSyncData(&syncNode, dta.syncDta)) | 241 | if (!addSyncData(&syncNode, dta.syncDta)) |
240 | return false; | 242 | return false; |
241 | root.appendChild(syncNode); | 243 | root.appendChild(syncNode); |
242 | if (!addCategories(&catNode, dta.dta)) | 244 | if (!addCategories(&catNode, dta.dta)) |
243 | return false; | 245 | return false; |