author | mickeyl <mickeyl> | 2004-11-16 19:14:18 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-11-16 19:14:18 (UTC) |
commit | ea3945a9bd8f9830f70b1efa133f9df13b19362f (patch) (side-by-side diff) | |
tree | f2ea22cc50e9aa8aa73ee7dea148f41c563c9666 /noncore/unsupported/libopie/pim/ocontactaccessbackend_vcard.h | |
parent | 1c6f490e8541626f68422e0a3a7c7281d7f5b7d3 (diff) | |
download | opie-ea3945a9bd8f9830f70b1efa133f9df13b19362f.zip opie-ea3945a9bd8f9830f70b1efa133f9df13b19362f.tar.gz opie-ea3945a9bd8f9830f70b1efa133f9df13b19362f.tar.bz2 |
libopie1 goes into unsupported
Diffstat (limited to 'noncore/unsupported/libopie/pim/ocontactaccessbackend_vcard.h') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/unsupported/libopie/pim/ocontactaccessbackend_vcard.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/noncore/unsupported/libopie/pim/ocontactaccessbackend_vcard.h b/noncore/unsupported/libopie/pim/ocontactaccessbackend_vcard.h new file mode 100644 index 0000000..6dbc718 --- a/dev/null +++ b/noncore/unsupported/libopie/pim/ocontactaccessbackend_vcard.h @@ -0,0 +1,99 @@ +/* + * VCard Backend for the OPIE-Contact Database. + * + * Copyright (C) 2000 Trolltech AS. All rights reserved. + * Copyright (c) 2002 by Stefan Eilers (Eilers.Stefan@epost.de) + * + * ===================================================================== + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * ===================================================================== + * ToDo: + * + * ===================================================================== + * Version: $Id$ + * ===================================================================== + * History: + * $Log$ + * Revision 1.1 2004/11/16 21:46:07 mickeyl + * libopie1 goes into unsupported + * + * Revision 1.6 2003/04/13 18:07:10 zecke + * More API doc + * QString -> const QString& + * QString = 0l -> QString::null + * + * Revision 1.5 2003/03/21 10:33:09 eilers + * Merged speed optimized xml backend for contacts to main. + * Added QDateTime to querybyexample. For instance, it is now possible to get + * all Birthdays/Anniversaries between two dates. This should be used + * to show all birthdays in the datebook.. + * This change is sourcecode backward compatible but you have to upgrade + * the binaries for today-addressbook. + * + * Revision 1.4 2002/12/07 13:26:22 eilers + * Fixing bug in storing anniversary.. + * + * Revision 1.3 2002/11/13 14:14:51 eilers + * Added sorted for Contacts.. + * + * Revision 1.2 2002/11/10 15:41:53 eilers + * Bugfixes.. + * + * Revision 1.1 2002/11/09 14:34:52 eilers + * Added VCard Backend. + * + */ +#ifndef __OCONTACTACCESSBACKEND_VCARD_H_ +#define __OCONTACTACCESSBACKEND_VCARD_H_ + +#include <opie/ocontact.h> + +#include "ocontactaccessbackend.h" + +class VObject; + +/** + * This is the vCard 2.1 implementation of the Contact Storage + * @see OContactAccessBackend_XML + * @see OPimAccessBackend + */ +class OContactAccessBackend_VCard : public OContactAccessBackend { + public: + OContactAccessBackend_VCard ( const QString& appname, const QString& filename = QString::null ); + + bool load (); + bool reload(); + bool save(); + void clear (); + + bool add ( const OContact& newcontact ); + bool remove ( int uid ); + bool replace ( const OContact& contact ); + + OContact find ( int uid ) const; + QArray<int> allRecords() const; + QArray<int> queryByExample ( const OContact &query, int settings, const QDateTime& d = QDateTime() ); + QArray<int> matchRegexp( const QRegExp &r ) const; + + const uint querySettings(); + bool hasQuerySettings (uint querySettings) const; + QArray<int> sorted( bool ascending, int sortOrder, int sortFilter, int cat ); + bool wasChangedExternally(); + +private: + OContact parseVObject( VObject* obj ); + VObject* createVObject( const OContact& c ); + QString convDateToVCardDate( const QDate& c ) const; + QDate convVCardDateToDate( const QString& datestr ); + VObject *safeAddPropValue( VObject *o, const char* prop, const QString& value ); + VObject *safeAddProp( VObject* o, const char* prop); + + bool m_dirty : 1; + QString m_file; + QMap<int, OContact> m_map; +}; + +#endif |