summaryrefslogtreecommitdiffabout
path: root/pwmanager/pwmanager/serializer.cpp
Unidiff
Diffstat (limited to 'pwmanager/pwmanager/serializer.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--pwmanager/pwmanager/serializer.cpp18
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
138Serializer::Serializer() 140Serializer::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
149Serializer::Serializer(const QCString &buffer) 151Serializer::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
169Serializer::~Serializer() 171Serializer::~Serializer()
170{ 172{
171 delete_ifnot_null(domDoc); 173 delete_ifnot_null(domDoc);
172} 174}
173 175
174void Serializer::clear() 176void 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
180bool Serializer::parseXml(const QCString &buffer) 182bool 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
201QCString Serializer::getXml() 203Q3CString 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
233bool Serializer::serialize(PwMItem &dta) 235bool 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;