summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp
Side-by-side diff
Diffstat (limited to 'libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp158
1 files changed, 79 insertions, 79 deletions
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp
index 07ad29a..0adba68 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp
@@ -51,13 +51,13 @@
#include <errno.h>
using namespace Opie;
namespace Opie {
-OContactAccessBackend_XML::OContactAccessBackend_XML ( const QString& appname, const QString& filename ):
+OPimContactAccessBackend_XML::OPimContactAccessBackend_XML ( const QString& appname, const QString& filename ):
m_changed( false )
{
// Just m_contactlist should call delete if an entry
// is removed.
m_contactList.setAutoDelete( true );
m_uidToContact.setAutoDelete( false );
@@ -75,13 +75,13 @@ OContactAccessBackend_XML::OContactAccessBackend_XML ( const QString& appname, c
m_fileName = filename;
/* Load Database now */
load ();
}
-bool OContactAccessBackend_XML::save()
+bool OPimContactAccessBackend_XML::save()
{
if ( !m_changed )
return true;
QString strNewFile = m_fileName + ".new";
@@ -101,13 +101,13 @@ bool OContactAccessBackend_XML::save()
QCString cstr = out.utf8();
f.writeBlock( cstr.data(), cstr.length() );
idx_offset += cstr.length();
out = "";
// Write all contacts
- QListIterator<OContact> it( m_contactList );
+ QListIterator<OPimContact> it( m_contactList );
for ( ; it.current(); ++it ) {
// qWarning(" Uid %d at Offset: %x", (*it)->uid(), idx_offset );
out += "<Contact ";
(*it)->save( out );
out += "/>\n";
cstr = out.utf8();
@@ -145,13 +145,13 @@ bool OContactAccessBackend_XML::save()
removeJournal();
m_changed = false;
return true;
}
-bool OContactAccessBackend_XML::load ()
+bool OPimContactAccessBackend_XML::load ()
{
m_contactList.clear();
m_uidToContact.clear();
/* Load XML-File and journal if it exists */
if ( !load ( m_fileName, false ) )
@@ -164,61 +164,61 @@ bool OContactAccessBackend_XML::load ()
*/
load (m_journalName, true);
return true;
}
-void OContactAccessBackend_XML::clear ()
+void OPimContactAccessBackend_XML::clear ()
{
m_contactList.clear();
m_uidToContact.clear();
m_changed = false;
}
-bool OContactAccessBackend_XML::wasChangedExternally()
+bool OPimContactAccessBackend_XML::wasChangedExternally()
{
QFileInfo fi( m_fileName );
QDateTime lastmod = fi.lastModified ();
return (lastmod != m_readtime);
}
-QArray<int> OContactAccessBackend_XML::allRecords() const
+QArray<int> OPimContactAccessBackend_XML::allRecords() const
{
QArray<int> uid_list( m_contactList.count() );
uint counter = 0;
- QListIterator<OContact> it( m_contactList );
+ QListIterator<OPimContact> it( m_contactList );
for( ; it.current(); ++it ){
uid_list[counter++] = (*it)->uid();
}
return ( uid_list );
}
-OContact OContactAccessBackend_XML::find ( int uid ) const
+OPimContact OPimContactAccessBackend_XML::find ( int uid ) const
{
- OContact foundContact; //Create empty contact
+ OPimContact foundContact; //Create empty contact
- OContact* found = m_uidToContact.find( QString().setNum( uid ) );
+ OPimContact* found = m_uidToContact.find( QString().setNum( uid ) );
if ( found ){
foundContact = *found;
}
return ( foundContact );
}
-QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, int settings,
+QArray<int> OPimContactAccessBackend_XML::queryByExample ( const OPimContact &query, int settings,
const QDateTime& d )
{
QArray<int> m_currentQuery( m_contactList.count() );
- QListIterator<OContact> it( m_contactList );
+ QListIterator<OPimContact> it( m_contactList );
uint arraycounter = 0;
for( ; it.current(); ++it ){
/* Search all fields and compare them with query object. Store them into list
* if all fields matches.
*/
@@ -237,25 +237,25 @@ QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, i
queryDate = new QDate( query.anniversary() );
checkDate = new QDate( (*it)->anniversary() );
}
if ( queryDate->isValid() ){
if( checkDate->isValid() ){
- if ( settings & OContactAccess::DateYear ){
+ if ( settings & OPimContactAccess::DateYear ){
if ( queryDate->year() != checkDate->year() )
allcorrect = false;
}
- if ( settings & OContactAccess::DateMonth ){
+ if ( settings & OPimContactAccess::DateMonth ){
if ( queryDate->month() != checkDate->month() )
allcorrect = false;
}
- if ( settings & OContactAccess::DateDay ){
+ if ( settings & OPimContactAccess::DateDay ){
if ( queryDate->day() != checkDate->day() )
allcorrect = false;
}
- if ( settings & OContactAccess::DateDiff ) {
+ if ( settings & OPimContactAccess::DateDiff ) {
QDate current;
// If we get an additional date, we
// will take this date instead of
// the current one..
if ( !d.date().isValid() )
current = QDate::currentDate();
@@ -298,38 +298,38 @@ QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, i
delete checkDate;
checkDate = 0l;
break;
default:
/* Just compare fields which are not empty in the query object */
if ( !query.field(i).isEmpty() ){
- switch ( settings & ~( OContactAccess::IgnoreCase
- | OContactAccess::DateDiff
- | OContactAccess::DateYear
- | OContactAccess::DateMonth
- | OContactAccess::DateDay
- | OContactAccess::MatchOne
+ switch ( settings & ~( OPimContactAccess::IgnoreCase
+ | OPimContactAccess::DateDiff
+ | OPimContactAccess::DateYear
+ | OPimContactAccess::DateMonth
+ | OPimContactAccess::DateDay
+ | OPimContactAccess::MatchOne
) ){
- case OContactAccess::RegExp:{
+ case OPimContactAccess::RegExp:{
QRegExp expr ( query.field(i),
- !(settings & OContactAccess::IgnoreCase),
+ !(settings & OPimContactAccess::IgnoreCase),
false );
if ( expr.find ( (*it)->field(i), 0 ) == -1 )
allcorrect = false;
}
break;
- case OContactAccess::WildCards:{
+ case OPimContactAccess::WildCards:{
QRegExp expr ( query.field(i),
- !(settings & OContactAccess::IgnoreCase),
+ !(settings & OPimContactAccess::IgnoreCase),
true );
if ( expr.find ( (*it)->field(i), 0 ) == -1 )
allcorrect = false;
}
break;
- case OContactAccess::ExactMatch:{
- if (settings & OContactAccess::IgnoreCase){
+ case OPimContactAccess::ExactMatch:{
+ if (settings & OPimContactAccess::IgnoreCase){
if ( query.field(i).upper() !=
(*it)->field(i).upper() )
allcorrect = false;
}else{
if ( query.field(i) != (*it)->field(i) )
allcorrect = false;
@@ -348,16 +348,16 @@ QArray<int> OContactAccessBackend_XML::queryByExample ( const OContact &query, i
// Shrink to fit..
m_currentQuery.resize(arraycounter);
return m_currentQuery;
}
-QArray<int> OContactAccessBackend_XML::matchRegexp( const QRegExp &r ) const
+QArray<int> OPimContactAccessBackend_XML::matchRegexp( const QRegExp &r ) const
{
QArray<int> m_currentQuery( m_contactList.count() );
- QListIterator<OContact> it( m_contactList );
+ QListIterator<OPimContact> it( m_contactList );
uint arraycounter = 0;
for( ; it.current(); ++it ){
if ( (*it)->match( r ) ){
m_currentQuery[arraycounter++] = (*it)->uid();
}
@@ -366,82 +366,82 @@ QArray<int> OContactAccessBackend_XML::matchRegexp( const QRegExp &r ) const
// Shrink to fit..
m_currentQuery.resize(arraycounter);
return m_currentQuery;
}
-const uint OContactAccessBackend_XML::querySettings()
+const uint OPimContactAccessBackend_XML::querySettings()
{
- return ( OContactAccess::WildCards
- | OContactAccess::IgnoreCase
- | OContactAccess::RegExp
- | OContactAccess::ExactMatch
- | OContactAccess::DateDiff
- | OContactAccess::DateYear
- | OContactAccess::DateMonth
- | OContactAccess::DateDay
+ return ( OPimContactAccess::WildCards
+ | OPimContactAccess::IgnoreCase
+ | OPimContactAccess::RegExp
+ | OPimContactAccess::ExactMatch
+ | OPimContactAccess::DateDiff
+ | OPimContactAccess::DateYear
+ | OPimContactAccess::DateMonth
+ | OPimContactAccess::DateDay
);
}
-bool OContactAccessBackend_XML::hasQuerySettings (uint querySettings) const
+bool OPimContactAccessBackend_XML::hasQuerySettings (uint querySettings) const
{
- /* OContactAccess::IgnoreCase, DateDiff, DateYear, DateMonth, DateDay
+ /* OPimContactAccess::IgnoreCase, DateDiff, DateYear, DateMonth, DateDay
* may be added with any of the other settings. IgnoreCase should never used alone.
* Wildcards, RegExp, ExactMatch should never used at the same time...
*/
// Step 1: Check whether the given settings are supported by this backend
if ( ( querySettings & (
- OContactAccess::IgnoreCase
- | OContactAccess::WildCards
- | OContactAccess::DateDiff
- | OContactAccess::DateYear
- | OContactAccess::DateMonth
- | OContactAccess::DateDay
- | OContactAccess::RegExp
- | OContactAccess::ExactMatch
+ OPimContactAccess::IgnoreCase
+ | OPimContactAccess::WildCards
+ | OPimContactAccess::DateDiff
+ | OPimContactAccess::DateYear
+ | OPimContactAccess::DateMonth
+ | OPimContactAccess::DateDay
+ | OPimContactAccess::RegExp
+ | OPimContactAccess::ExactMatch
) ) != querySettings )
return false;
// Step 2: Check whether the given combinations are ok..
// IngoreCase alone is invalid
- if ( querySettings == OContactAccess::IgnoreCase )
+ if ( querySettings == OPimContactAccess::IgnoreCase )
return false;
// WildCards, RegExp and ExactMatch should never used at the same time
- switch ( querySettings & ~( OContactAccess::IgnoreCase
- | OContactAccess::DateDiff
- | OContactAccess::DateYear
- | OContactAccess::DateMonth
- | OContactAccess::DateDay
+ switch ( querySettings & ~( OPimContactAccess::IgnoreCase
+ | OPimContactAccess::DateDiff
+ | OPimContactAccess::DateYear
+ | OPimContactAccess::DateMonth
+ | OPimContactAccess::DateDay
)
){
- case OContactAccess::RegExp:
+ case OPimContactAccess::RegExp:
return ( true );
- case OContactAccess::WildCards:
+ case OPimContactAccess::WildCards:
return ( true );
- case OContactAccess::ExactMatch:
+ case OPimContactAccess::ExactMatch:
return ( true );
case 0: // one of the upper removed bits were set..
return ( true );
default:
return ( false );
}
}
// Currently only asc implemented..
-QArray<int> OContactAccessBackend_XML::sorted( bool asc, int , int , int )
+QArray<int> OPimContactAccessBackend_XML::sorted( bool asc, int , int , int )
{
QMap<QString, int> nameToUid;
QStringList names;
QArray<int> m_currentQuery( m_contactList.count() );
// First fill map and StringList with all Names
// Afterwards sort namelist and use map to fill array to return..
- QListIterator<OContact> it( m_contactList );
+ QListIterator<OPimContact> it( m_contactList );
for( ; it.current(); ++it ){
names.append( (*it)->fileAs() + QString::number( (*it)->uid() ) );
nameToUid.insert( (*it)->fileAs() + QString::number( (*it)->uid() ), (*it)->uid() );
}
names.sort();
@@ -455,31 +455,31 @@ QArray<int> OContactAccessBackend_XML::sorted( bool asc, int , int , int )
}
return m_currentQuery;
}
-bool OContactAccessBackend_XML::add ( const OContact &newcontact )
+bool OPimContactAccessBackend_XML::add ( const OPimContact &newcontact )
{
//qWarning("odefaultbackend: ACTION::ADD");
updateJournal (newcontact, ACTION_ADD);
addContact_p( newcontact );
m_changed = true;
return true;
}
-bool OContactAccessBackend_XML::replace ( const OContact &contact )
+bool OPimContactAccessBackend_XML::replace ( const OPimContact &contact )
{
m_changed = true;
- OContact* found = m_uidToContact.find ( QString().setNum( contact.uid() ) );
+ OPimContact* found = m_uidToContact.find ( QString().setNum( contact.uid() ) );
if ( found ) {
- OContact* newCont = new OContact( contact );
+ OPimContact* newCont = new OPimContact( contact );
updateJournal ( *newCont, ACTION_REPLACE);
m_contactList.removeRef ( found );
m_contactList.append ( newCont );
m_uidToContact.remove( QString().setNum( contact.uid() ) );
m_uidToContact.insert( QString().setNum( newCont->uid() ), newCont );
@@ -488,43 +488,43 @@ bool OContactAccessBackend_XML::replace ( const OContact &contact )
return true;
} else
return false;
}
-bool OContactAccessBackend_XML::remove ( int uid )
+bool OPimContactAccessBackend_XML::remove ( int uid )
{
m_changed = true;
- OContact* found = m_uidToContact.find ( QString().setNum( uid ) );
+ OPimContact* found = m_uidToContact.find ( QString().setNum( uid ) );
if ( found ) {
updateJournal ( *found, ACTION_REMOVE);
m_contactList.removeRef ( found );
m_uidToContact.remove( QString().setNum( uid ) );
return true;
} else
return false;
}
-bool OContactAccessBackend_XML::reload(){
+bool OPimContactAccessBackend_XML::reload(){
/* Reload is the same as load in this implementation */
return ( load() );
}
-void OContactAccessBackend_XML::addContact_p( const OContact &newcontact )
+void OPimContactAccessBackend_XML::addContact_p( const OPimContact &newcontact )
{
- OContact* contRef = new OContact( newcontact );
+ OPimContact* contRef = new OPimContact( newcontact );
m_contactList.append ( contRef );
m_uidToContact.insert( QString().setNum( newcontact.uid() ), contRef );
}
/* This function loads the xml-database and the journalfile */
-bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
+bool OPimContactAccessBackend_XML::load( const QString filename, bool isJournal )
{
/* We use the time of the last read to check if the file was
* changed externally.
*/
if ( !isJournal ){
@@ -587,46 +587,46 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
dict.insert( "Anniversary", new int(Qtopia::Anniversary) );
dict.insert( "Nickname", new int(Qtopia::Nickname) );
dict.insert( "Notes", new int(Qtopia::Notes) );
dict.insert( "action", new int(JOURNALACTION) );
dict.insert( "actionrow", new int(JOURNALROW) );
- //qWarning( "OContactDefaultBackEnd::loading %s", filename.latin1() );
+ //qWarning( "OPimContactDefaultBackEnd::loading %s", filename.latin1() );
XMLElement *root = XMLElement::load( filename );
if(root != 0l ){ // start parsing
/* Parse all XML-Elements and put the data into the
* Contact-Class
*/
XMLElement *element = root->firstChild();
- //qWarning("OContactAccess::load tagName(): %s", root->tagName().latin1() );
+ //qWarning("OPimContactAccess::load tagName(): %s", root->tagName().latin1() );
element = element->firstChild();
/* Search Tag "Contacts" which is the parent of all Contacts */
while( element && !isJournal ){
if( element->tagName() != QString::fromLatin1("Contacts") ){
- //qWarning ("OContactDefBack::Searching for Tag \"Contacts\"! Found: %s",
+ //qWarning ("OPimContactDefBack::Searching for Tag \"Contacts\"! Found: %s",
// element->tagName().latin1());
element = element->nextChild();
} else {
element = element->firstChild();
break;
}
}
/* Parse all Contacts and ignore unknown tags */
while( element ){
if( element->tagName() != QString::fromLatin1("Contact") ){
- //qWarning ("OContactDefBack::Searching for Tag \"Contact\"! Found: %s",
+ //qWarning ("OPimContactDefBack::Searching for Tag \"Contact\"! Found: %s",
// element->tagName().latin1());
element = element->nextChild();
continue;
}
/* Found alement with tagname "contact", now parse and store all
* attributes contained
*/
- //qWarning("OContactDefBack::load element tagName() : %s",
+ //qWarning("OPimContactDefBack::load element tagName() : %s",
// element->tagName().latin1() );
QString dummy;
foundAction = false;
XMLElement::AttributeMap aMap = element->attributes();
XMLElement::AttributeMap::Iterator it;
@@ -667,13 +667,13 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
default: // no conversion needed add them to the map
contactMap.insert( *find, it.data() );
break;
}
}
/* now generate the Contact contact */
- OContact contact( contactMap );
+ OPimContact contact( contactMap );
for (customIt = customMap.begin(); customIt != customMap.end(); ++customIt ) {
contact.setCustomField( customIt.key(), customIt.data() );
}
if (foundAction){
@@ -710,13 +710,13 @@ bool OContactAccessBackend_XML::load( const QString filename, bool isJournal )
delete root;
qWarning("returning from loading" );
return true;
}
-void OContactAccessBackend_XML::updateJournal( const OContact& cnt,
+void OPimContactAccessBackend_XML::updateJournal( const OPimContact& cnt,
journal_action action )
{
QFile f( m_journalName );
bool created = !f.exists();
if ( !f.open(IO_WriteOnly|IO_Append) )
return;
@@ -738,13 +738,13 @@ void OContactAccessBackend_XML::updateJournal( const OContact& cnt,
buf += " action=\"" + QString::number( (int)action ) + "\" ";
buf += "/>\n";
QCString cstr = buf.utf8();
f.writeBlock( cstr.data(), cstr.length() );
}
-void OContactAccessBackend_XML::removeJournal()
+void OPimContactAccessBackend_XML::removeJournal()
{
QFile f ( m_journalName );
if ( f.exists() )
f.remove();
}