summaryrefslogtreecommitdiffstats
path: root/kabc/vcardparser
diff options
context:
space:
mode:
Diffstat (limited to 'kabc/vcardparser')
-rw-r--r--kabc/vcardparser/CMakeLists.txt40
-rw-r--r--kabc/vcardparser/Makefile.am31
-rw-r--r--kabc/vcardparser/README.testing15
-rwxr-xr-xkabc/vcardparser/checkvcard.pl75
-rw-r--r--kabc/vcardparser/testread.cpp89
-rw-r--r--kabc/vcardparser/testread2.cpp42
-rw-r--r--kabc/vcardparser/tests/vcard1.vcf13
-rw-r--r--kabc/vcardparser/tests/vcard1.vcf.ref15
-rw-r--r--kabc/vcardparser/tests/vcard2.vcf11
-rw-r--r--kabc/vcardparser/tests/vcard2.vcf.ref12
-rw-r--r--kabc/vcardparser/tests/vcard3.vcf11
-rw-r--r--kabc/vcardparser/tests/vcard3.vcf.ref12
-rw-r--r--kabc/vcardparser/tests/vcard4.vcf14
-rw-r--r--kabc/vcardparser/tests/vcard4.vcf.ref14
-rw-r--r--kabc/vcardparser/tests/vcard5.vcf313
-rw-r--r--kabc/vcardparser/tests/vcard5.vcf.ref313
-rw-r--r--kabc/vcardparser/tests/vcard6.vcf10
-rw-r--r--kabc/vcardparser/tests/vcard6.vcf.ref10
-rw-r--r--kabc/vcardparser/tests/vcard7.vcf7
-rw-r--r--kabc/vcardparser/tests/vcard7.vcf.ref8
-rw-r--r--kabc/vcardparser/testutils.cpp99
-rw-r--r--kabc/vcardparser/testutils.h14
-rw-r--r--kabc/vcardparser/testwrite.cpp134
-rw-r--r--kabc/vcardparser/vcard.cpp109
-rw-r--r--kabc/vcardparser/vcard.h91
-rw-r--r--kabc/vcardparser/vcardline.cpp151
-rw-r--r--kabc/vcardparser/vcardline.h115
-rw-r--r--kabc/vcardparser/vcardparser.cpp297
-rw-r--r--kabc/vcardparser/vcardparser.h44
29 files changed, 0 insertions, 2109 deletions
diff --git a/kabc/vcardparser/CMakeLists.txt b/kabc/vcardparser/CMakeLists.txt
deleted file mode 100644
index 2c6fa112a..000000000
--- a/kabc/vcardparser/CMakeLists.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-#################################################
-#
-# (C) 2010 Serghei Amelian
-# serghei (DOT) amelian (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${TQT_INCLUDE_DIRS}
- ${CMAKE_BINARY_DIR}/tdecore
- ${CMAKE_SOURCE_DIR}/tdecore
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-
-##### headers ###################################
-
-install( FILES
- vcard.h vcardline.h vcardparser.h
- DESTINATION ${INCLUDE_INSTALL_DIR}/kabc )
-
-
-##### vcards ####################################
-
-set( target vcards )
-
-set( ${target}_SRCS
- vcard.cpp vcardline.cpp vcardparser.cpp
-)
-
-tde_add_library( ${target} STATIC_PIC
- SOURCES ${${target}_SRCS}
-)
diff --git a/kabc/vcardparser/Makefile.am b/kabc/vcardparser/Makefile.am
deleted file mode 100644
index 53e4e42ab..000000000
--- a/kabc/vcardparser/Makefile.am
+++ /dev/null
@@ -1,31 +0,0 @@
-INCLUDES = -I$(top_builddir)/kabc -I$(top_srcdir)/kabc $(all_includes)
-
-noinst_LTLIBRARIES = libvcards.la
-libvcards_la_SOURCES = vcard.cpp vcardline.cpp vcardparser.cpp
-
-vcardsincludedir = $(includedir)/kabc
-vcardsinclude_HEADERS = vcard.h vcardline.h vcardparser.h
-
-check_PROGRAMS = testread testwrite testread2
-
-testread_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_KIO) -ltdetexteditor
-testread_LDADD = libvcards.la $(top_builddir)/kabc/libkabc.la
-testread_SOURCES = testread.cpp
-
-testread2_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_KIO) -ltdetexteditor
-testread2_LDADD = libvcards.la $(top_builddir)/kabc/libkabc.la
-testread2_SOURCES = testread2.cpp testutils.cpp
-
-testwrite_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_KIO) -ltdetexteditor
-testwrite_LDADD = libvcards.la $(top_builddir)/kabc/libkabc.la
-testwrite_SOURCES = testwrite.cpp
-
-TESTFILES = vcard1.vcf vcard2.vcf vcard3.vcf vcard4.vcf vcard6.vcf vcard7.vcf
-
-check-local: testread
- rm -f FAILED; \
- for i in $(TESTFILES); \
- do perl $(top_srcdir)/kabc/vcardparser/checkvcard.pl \
- $(top_srcdir)/kabc/vcardparser/tests/$$i; \
- done; \
- [ ! -e FAILED ]
diff --git a/kabc/vcardparser/README.testing b/kabc/vcardparser/README.testing
deleted file mode 100644
index a7794931d..000000000
--- a/kabc/vcardparser/README.testing
+++ /dev/null
@@ -1,15 +0,0 @@
-For testing the vcardparser there are some test files and a small testsuite
-automatically checking for regressions. The tests directory contains some vCard
-files and correpsonding reference output files (with an additional ".ref"
-suffix). For running the geression test do "make check". This will compile some
-test programs, parse the test files, write them out as vCard again and compare
-the output to the reference file. The check fails, if there are unexpected
-differences and shows which lines differed.
-
-For creating a new test put a vCard file to be parsed into the tests directory.
-Create a reference file by running "testread" on the test file. It will put out
-the parsed data as vCard again on stdout. Carefully check the output, manually
-correct any errors and save the result as reference file in the tests directory.
-Now add the filename to the TESTFILES variable in Makefile.am and run "make
-check". If the check fails adapt the reference file or fix the bugs in the
-parser, whatever is appropriate.
diff --git a/kabc/vcardparser/checkvcard.pl b/kabc/vcardparser/checkvcard.pl
deleted file mode 100755
index 67160ea4a..000000000
--- a/kabc/vcardparser/checkvcard.pl
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/perl
-
-if ( @ARGV != 1 ) {
- print STDERR "Missing arg: filename\n";
- exit 1;
-}
-
-$file = $ARGV[0];
-
-if ( !open( IN, "$file" ) ) {
- print STDERR "Unable to open '$file'\n";
- exit 1;
-}
-
-while( <IN> ) {
- if (/^VERSION:(.*)$/ ) {
- $version = $1;
- if ( $version eq "2.1" ) { $options = "--vcard21"; }
- }
-}
-
-close IN;
-
-$ref = "$file.ref";
-
-if ( !open( REF, "$ref" ) ) {
- print STDERR "Unable to open $ref\n";
- exit 1;
-}
-
-while( <REF> ) {
- push @ref, $_;
-}
-
-close REF;
-
-if ( !open( READ, "./testread $file $options 2> /dev/null |" ) ) {
- print STDERR "Unable to open testread\n";
- exit 1;
-}
-
-print "Checking '$file':\n";
-
-$gotsomething = 0;
-$error = 0;
-$i = 0;
-while( <READ> ) {
- $gotsomething = 1;
- $out = $_;
- $ref = @ref[$i++];
-
- if ( $out ne $ref ) {
- if ( $ref =~ /^UID/ && $out =~ /^UID/ ) { next; }
- $error++;
- print " Expected : $ref";
- print " Parser output : $out";
- }
-}
-
-close READ;
-
-if ( $gotsomething == 0 ) {
- print "\n FAILED: testread didn't output anything\n";
- system "touch FAILED";
- exit 1;
-}
-if ( $error > 0 ) {
- print "\n FAILED: $error errors found.\n";
- system "touch FAILED";
- exit 1;
-} else {
- print " OK\n";
-}
-
-exit 0;
diff --git a/kabc/vcardparser/testread.cpp b/kabc/vcardparser/testread.cpp
deleted file mode 100644
index 6c3405ef9..000000000
--- a/kabc/vcardparser/testread.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- This file is part of libkabc.
-
- This library 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.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include <iostream>
-#include <stdlib.h>
-
-#include <tqfile.h>
-#include <tqtextstream.h>
-
-#include <kprocess.h>
-#include <kdebug.h>
-#include <tdeapplication.h>
-#include <tdecmdlineargs.h>
-#include <klocale.h>
-#include <tdeaboutdata.h>
-
-#include "vcardconverter.h"
-#include "vcard.h"
-
-static const TDECmdLineOptions options[] =
-{
- {"vcard21", I18N_NOOP("vCard 2.1"), 0},
- {"+inputfile", I18N_NOOP("Input file"), 0},
- TDECmdLineLastOption
-};
-
-int main( int argc, char **argv )
-{
- TDEApplication::disableAutoDcopRegistration();
-
- TDEAboutData aboutData( "testread", "vCard test reader", "0.1" );
- aboutData.addAuthor( "Cornelius Schumacher", 0, "schumacher@kde.org" );
-
- TDECmdLineArgs::init( argc, argv, &aboutData );
- TDECmdLineArgs::addCmdLineOptions( options );
-
- TDEApplication app( false, false );
-
- TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs();
-
- if ( args->count() != 1 ) {
- std::cerr << "Missing argument" << std::endl;
- return 1;
- }
-
- TQString inputFile( args->arg( 0 ) );
-
- TQFile file( inputFile );
- if ( !file.open( IO_ReadOnly ) ) {
- tqDebug( "Unable to open file '%s' for reading!", file.name().latin1() );
- return 1;
- }
-
- TQString text;
-
- TQTextStream s( &file );
- s.setEncoding( TQTextStream::Latin1 );
- text = s.read();
- file.close();
-
- KABC::VCardConverter converter;
- KABC::Addressee::List list = converter.parseVCards( text );
-
- if ( args->isSet( "vcard21" ) ) {
- text = converter.createVCards( list, KABC::VCardConverter::v2_1 ); // uses version 2.1
- } else {
- text = converter.createVCards( list ); // uses version 3.0
- }
-
- std::cout << text.utf8();
-
- return 0;
-}
diff --git a/kabc/vcardparser/testread2.cpp b/kabc/vcardparser/testread2.cpp
deleted file mode 100644
index ba73081e7..000000000
--- a/kabc/vcardparser/testread2.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "testutils.h"
-#include <kabc/addressee.h>
-#include <vcardconverter.h>
-#include <kdebug.h>
-
-using namespace KABC;
-
-int
-main()
-{
- Addressee::List l = vCardsAsAddresseeList();
- TQString vcards = vCardsAsText();
-
- VCardConverter vct;
-
- Addressee::List parsed = vct.parseVCards( vcards );
-
- if ( l.size() != parsed.size() ) {
- kdDebug()<<"\tSize - FAILED : "<<l.size()<<" vs. parsed "<<parsed.size()<<endl;
- } else {
- kdDebug()<<"\tSize - PASSED"<<endl;
- }
-
- Addressee::List::iterator itr1;
- Addressee::List::iterator itr2;
- for ( itr1 = l.begin(), itr2 = parsed.begin();
- itr1 != l.end(); ++itr1, ++itr2 ) {
- if ( (*itr1).fullEmail() == (*itr2).fullEmail() &&
- (*itr1).organization() == (*itr2).organization() &&
- (*itr1).phoneNumbers() == (*itr2).phoneNumbers() &&
- (*itr1).emails() == (*itr2).emails() &&
- (*itr1).role() == (*itr2).role() ) {
- kdDebug()<<"\tAddressee - PASSED"<<endl;
- kdDebug()<<"\t\t"<< (*itr1).fullEmail() << " VS. " << (*itr2).fullEmail()<<endl;
- } else {
- kdDebug()<<"\tAddressee - FAILED"<<endl;
- (*itr1).dump();
- (*itr2).dump();
- //kdDebug()<<"\t\t"<< (*itr1).fullEmail() << " VS. " << (*itr2).fullEmail()<<endl;
- }
- }
-}
diff --git a/kabc/vcardparser/tests/vcard1.vcf b/kabc/vcardparser/tests/vcard1.vcf
deleted file mode 100644
index 2c77b094c..000000000
--- a/kabc/vcardparser/tests/vcard1.vcf
+++ /dev/null
@@ -1,13 +0,0 @@
-BEGIN:vCard
-VERSION:3.0
-FN:Frank Dawson
-ORG:Lotus Development Corporation
-ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive
- ;Raleigh;NC;27613-3502;U.S.A.
-TEL;TYPE=VOICE,MSG,WORK:+1-919-676-9515
-TEL;TYPE=FAX,WORK:+1-919-676-9564
-EMAIL;TYPE=INTERNET,PREF:Frank_Dawson@Lotus.com
-EMAIL;TYPE=INTERNET:fdawson@earthlink.net
-URL:http://home.earthlink.net/~fdawson
-END:vCard
-
diff --git a/kabc/vcardparser/tests/vcard1.vcf.ref b/kabc/vcardparser/tests/vcard1.vcf.ref
deleted file mode 100644
index 073a7f31d..000000000
--- a/kabc/vcardparser/tests/vcard1.vcf.ref
+++ /dev/null
@@ -1,15 +0,0 @@
-BEGIN:VCARD
-ADR;TYPE=parcel;TYPE=postal;TYPE=work:;;6544 Battleford Drive;Raleigh;NC;27
- 613-3502;U.S.A.
-EMAIL;TYPE=PREF:Frank_Dawson@Lotus.com
-EMAIL:fdawson@earthlink.net
-FN:Frank Dawson
-N:;;;;
-ORG:Lotus Development Corporation
-TEL;TYPE=MSG;TYPE=VOICE;TYPE=WORK:+1-919-676-9515
-TEL;TYPE=FAX;TYPE=WORK:+1-919-676-9564
-UID:gDVbA6LY3t
-URL:http://home.earthlink.net/~fdawson
-VERSION:3.0
-END:VCARD
-
diff --git a/kabc/vcardparser/tests/vcard2.vcf b/kabc/vcardparser/tests/vcard2.vcf
deleted file mode 100644
index a4136b1b8..000000000
--- a/kabc/vcardparser/tests/vcard2.vcf
+++ /dev/null
@@ -1,11 +0,0 @@
-BEGIN:vCard
-VERSION:3.0
-FN:Tim Howes
-ORG:Netscape Communications Corp.
-ADR;TYPE=WORK:;;501 E. Middlefield Rd.;Mountain View;
- CA; 94043;U.S.A.
-TEL;TYPE=VOICE,MSG,WORK:+1-415-937-3419
-TEL;TYPE=FAX,WORK:+1-415-528-4164
-EMAIL;TYPE=INTERNET:howes@netscape.com
-END:vCard
-
diff --git a/kabc/vcardparser/tests/vcard2.vcf.ref b/kabc/vcardparser/tests/vcard2.vcf.ref
deleted file mode 100644
index 55151c797..000000000
--- a/kabc/vcardparser/tests/vcard2.vcf.ref
+++ /dev/null
@@ -1,12 +0,0 @@
-BEGIN:VCARD
-ADR;TYPE=work:;;501 E. Middlefield Rd.;Mountain View;CA; 94043;U.S.A.
-EMAIL:howes@netscape.com
-FN:Tim Howes
-N:;;;;
-ORG:Netscape Communications Corp.
-TEL;TYPE=MSG;TYPE=VOICE;TYPE=WORK:+1-415-937-3419
-TEL;TYPE=FAX;TYPE=WORK:+1-415-528-4164
-UID:1UgvYejJMs
-VERSION:3.0
-END:VCARD
-
diff --git a/kabc/vcardparser/tests/vcard3.vcf b/kabc/vcardparser/tests/vcard3.vcf
deleted file mode 100644
index f3f649784..000000000
--- a/kabc/vcardparser/tests/vcard3.vcf
+++ /dev/null
@@ -1,11 +0,0 @@
-begin:vcard
-n:geiser;ian
-x-mozilla-html:FALSE
-org:Source eXtreme
-version:2.1
-email;internet:geiseri@yahoo.com
-title:VP of Engineering
-x-mozilla-cpt:;0
-fn:ian geiser
-end:vcard
-
diff --git a/kabc/vcardparser/tests/vcard3.vcf.ref b/kabc/vcardparser/tests/vcard3.vcf.ref
deleted file mode 100644
index c91351769..000000000
--- a/kabc/vcardparser/tests/vcard3.vcf.ref
+++ /dev/null
@@ -1,12 +0,0 @@
-BEGIN:VCARD
-EMAIL:geiseri@yahoo.com
-FN:ian geiser
-N:geiser;ian;;;
-ORG:Source eXtreme
-TITLE:VP of Engineering
-UID:ebvq9Wo9rO
-VERSION:3.0
-X-mozilla-cpt:;0
-X-mozilla-html:FALSE
-END:VCARD
-
diff --git a/kabc/vcardparser/tests/vcard4.vcf b/kabc/vcardparser/tests/vcard4.vcf
deleted file mode 100644
index 7152ceb05..000000000
--- a/kabc/vcardparser/tests/vcard4.vcf
+++ /dev/null
@@ -1,14 +0,0 @@
-BEGIN:VCARD
-X-EVOLUTION-FILE-AS:Ximian, Inc.
-FN
-N:
-LABEL;QUOTED-PRINTABLE;WORK:401 Park Drive 3 West=0ABoston, MA 02215=0AUSA
-TEL;WORK;VOICE:(617) 236-0442
-TEL;WORK;FAX:(617) 236-8630
-EMAIL;INTERNET:hello@ximian.com
-URL:www.ximian.com/
-ORG:Ximian, Inc.
-NOTE:Welcome to the Ximian Addressbook.
-UID:pas-id-3E136F9B00000000
-END:VCARD
-
diff --git a/kabc/vcardparser/tests/vcard4.vcf.ref b/kabc/vcardparser/tests/vcard4.vcf.ref
deleted file mode 100644
index fc3b7a500..000000000
--- a/kabc/vcardparser/tests/vcard4.vcf.ref
+++ /dev/null
@@ -1,14 +0,0 @@
-BEGIN:VCARD
-EMAIL:hello@ximian.com
-LABEL;TYPE=work:401 Park Drive 3 West\nBoston\, MA 02215\nUSA
-N:;;;;
-NOTE:Welcome to the Ximian Addressbook.
-ORG:Ximian\, Inc.
-TEL;TYPE=VOICE;TYPE=WORK:(617) 236-0442
-TEL;TYPE=FAX;TYPE=WORK:(617) 236-8630
-UID:pas-id-3E136F9B00000000
-URL:www.ximian.com/
-VERSION:3.0
-X-EVOLUTION-FILE-AS:Ximian\, Inc.
-END:VCARD
-
diff --git a/kabc/vcardparser/tests/vcard5.vcf b/kabc/vcardparser/tests/vcard5.vcf
deleted file mode 100644
index 957a1e552..000000000
--- a/kabc/vcardparser/tests/vcard5.vcf
+++ /dev/null
@@ -1,313 +0,0 @@
-BEGIN:VCARD
-ADR;TYPE=home;TYPE=pref:;;Buehlauer Strasse 45;Dresden;Sachsen;01327;German
- y
-ADR;TYPE=work:;;Prager Strasse 55;Dresden;Sachsen;01066;Germany
-BDAY:1955-07-19T00:00:00Z
-CATEGORIES:Friend
-CLASS:CONFIDENTIAL
-EMAIL;TYPE=PREF:heiko.mustermann@freenet.org
-EMAIL:heiko8@tst.inf.tu-dresden.de
-FN:Mustermann, Heiko
-GEO:19.283333;166.616669
-LOGO;ENCODING=b;TYPE=image/png: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
-N:Mustermann;Heiko;;;
-NICKNAME:clown
-NOTE:I'm a friendly note text,\nplease copy me to your address book...
-ORG:KDE
-PHOTO;ENCODING=b;TYPE=image/png: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
-ROLE:Developer
-SOUND;ENCODING=b:UklGRiQgAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YQAgAA
- B/f39/f39/f39/f39/f4B/gH+Af4CAgIGBgYGBgYGBgYGBgYGBgYGBgIGAgICBgYGBgYGBgYCAg
- YGAgICAgICAgIGBgICAgYCAgICBgICAgICAgICAgIGAgICAgYCAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAf4CAgICAgICAgICAgICAgIB/f4CAgICAgICAgIB/f4B/f39/f39/f3+AgICAf4CAf3
- 9/gIB/f4CAgH9/gICAgH+AgICAgICAgICAf4CAgIB/gICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgIB/gICAf39/f39/f3+Af4CAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgH9/f39/f39/f39/f39/f4CAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYCAgICB
- gICAgYGBgICAgICAgICAgIGAgICBgICBgYGBgYGBgYGAgYGBgYCBgYGBgYGBgYGBgYGBgYGBgYG
- BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgICAgYGBgIGBgYGAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgH+AgICAgICAgICAgICAgICAgICAf4CAgIB/gH+Af4B/f39/f39/f
- 39/f39/f4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYG
- BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgY
- GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAgIGBgYCAgICBgYCAgYGBgYCAgICBg
- YCAgICAgICAgICAgICAgIGAgICAgICAgICAgICAgYGBgYGAgICAgIGBgYCAgICBgYGAgICAgIGA
- gICAgICAgIGBgYCBgYGAgYGBgYGBgoGBgYGCgoGAgICBgYGBgYCBgYKCgYGBgYGBgYGAgYGBgH9
- /gIB/f3+AgIB/gH9/gICAf4CBgYB/f35+gIB/f4CBgX9/gYCAgYKCgYCAgYOBgICAgoGAf4GCgn
- 9/gIB/gICBgH5/f4GAfX+BgYB+fn9/fn+Afn6Af39+f35+fn9+fn6AgH9/f4CAgYCAgYKCgH9/g
- IKBf3+AgYJ/f4GCg4F/gIGCgoOBfoCDgYF/fH+BgYGAfn6Af4CCgn58gIN/fX+AgICBgYGAgYCB
- goOCgICBgYB/fXyBhIGAgH5+f4GBgX9/f35+gIKCgXt9goN/f318f4GAf4B/fHt9fn5+fXx+fn5
- /gH9+fHx/gHx9f4CAfn18gIB9e4GBfn5+foCBfHyAgoGAfX6CgYCBgH+DgHt9gYN/fX2BhYB7en
- 6AgH98foKCgH18foCAfoCAf4CAf31+fn+AgH1+goJ/fX5/gIKAgIGAfH6CgX17foCBf3+BgoB/g
- YOBgIB/f4KDgoJ+e3+ChIOBfn1/gX+BfX2BgH59foCCfn1/gX99fICAgoB/f39/gISCf36AgoSB
- foCBgYGAf4CCf4CCgX5/gYKDgYB/gH+BhIOBgYB/gIOEhIF9foGCg4OBgICBgoOCgICChIOBg4O
- CgoSDgoKAgYKBgoODhISBf4CCg4SEgoGCg4SEgH6BhIWEgX+EhYKAgoKFhIB+gIKChYKAgYOCgo
- B+gYWFhIKAg4WEg4ODhIWFhYaGhIWGhYWGh4eHhYOCgoSFg4B/gIB+fX1+fn57e3t7fHt6fH5/f
- 4GDhYiMkJGQj5GVmZycmZiXlZGIfXRwcnZ4d3Nva2hoamppaWxvc3R0dXl+iJCPjZShqrCzvNHi
- rFYxOmKSrJ6UmJOAbV1ZboSMjI6JfnNjW2JweYGFg4B/e3Z0c3Btc3p9fHp4fIGBf3+Dh4qLjJG
- YnZuWkY6MhnpwbnN6fHlya2hlZmdmaW9ycXFzd3t/g42cpquzvMzd/sRADiBZkL6xpLa1jFpANV
- iHoJ2ioJWGbEQ2VHaOm5aHhIFuYmZzgoVxZFxfdJCSgnt/kKewr7bDsopcSV6JopyRjpOQfmNXZ
- HmGhYB8fXtvXExKXnyKgnJsc3t8fZC0ysfK0+vHTxEeXY6yr6rAxJRSNTdbh5+fp7KjglQ6PVx3
- ho6Ph3dmW15oa2x0hIuNkK3R18jJ0Ys8LUlxkqais8WtdlBFT2yDjpywro9mS0VVaXaBiIdyX2J
- rcG5udYKKjaXT4dfV2Y82JkBpiaKkvdO2eE9GTGZ4hZu6u51yTUNOX2l9kZWKdl5PXG93dHeAip
- KZut7j2tacRjJIYHCOo77XvoRdVlFYZniVuL+kfl9ST1Rcb4mTjoNxW1pqdXd5fH6CiKHN4d7k2
- 4E4N05Yaoqo1eO0emVbTU5ZdKDCuZV9b1tMSVlyiYp8dHl7cmpqdYCCgIqixNTR2OqnRTlPXFt3
- ksbnw4lzcFdKS2KMtLWZiIZwV0lPZXZ1b3uNinZqbXJ3dX2XxOPg4/zDUDRCTUhmiMXx1p+If1g
- +O1J7pK+yspN3W0pGVGdugYmCen54b21rb3V9i6vZ7vD92WpAS0gzSny04tq3qp5qPDhHX3uVrs
- KukXVhT0hRYnF/gnuCh31ubG9zdHeMs+Dr8P7KalFVOylJeq7QzMPIqmtIRUZOY4KovqicknhZS
- 1BWXWh6gIeLiH91b21vc4GcyuXt/umTZGhGIjJfh6y+yt7LkGlfTD1GYYOipKKwnXhkXldVUFhs
- dYOMjYWBem9ucoCWvNTm9+2weHdZMSpQboujvtnUrY6BZEdDUmV4jZypppeFd2dcWVFWWWh8hYS
- Ii393c3Z7iJ3A1ePp3aGDfVYyOVZkfJe5zsavpJNsU1BTVmR9kpmcn5uGdGxoWU5VVGZ0fIKLh4
- F/d3Z6g4ufuc3e3depjoViPz9VWm2FqLu8tLGifmphWlJZbH+Lj5+elod+c19WU0xUZW11gISEg
- nx6e3h6g4qWp7zM3NrSpZGIYkRFVVVlfZ6vsbW3qIl7b2BUWGVwe4ybn52TkIRuX2BVRVFjZmp7
- hIF9fX12cnZ6eX6LlZyousfP0c++jot6X0ZRXF9sgaCnqa6yn4eAdGZZYGlvd4mcnqCWnY91aWN
- cSUtYYmJxf399f351cXFzcHF4foOIlZ+hp7CytLm8uLKNg4RtYF5oanN8j5qZnqGaioV9dGpqb3
- J1f42Rk5iZjIKAcmFcW1RXYGhwdXt+e3Z2c25tcXJxd3yChY2Tl5udn6Gho6ioq6uonoaHbWNzZ
- GdxgoGPlZqdj5CJgHFzcWxwdH1/hYqOioSFfnFpaWBdX2Jqb3N5fHh4eHNxcXFxc3d7foOJjI6Q
- lZOSlZOTl5eYnJucnpyZkYiEfnd1dnZ5fYKHio6QkIyHg394dHRzc3Z5fHt2enJrcG5obG9sbW9
- ucHJzdnh3eXp5eXt9foCDhoeJjI6OkJGSk5aYmZudn6Gjn5qLh4J3cnJ0dHR5g4GEi42Ih4aBfH
- h4dXR1eHl4dXhuaW5rZ2ltaWttbW5vcnR1dHZ2dXV2d3d7fn+BhIeIiYuOjpCTlJWZnJueoKarr
- ZuJhntvaW1ucnh+hIWJi4qFg4F7d3V1c3R3fH1/gHlvbXJnXmdpYmdtamtxcW9vbm9tamxtbG5z
- dXZ5fHx7fX9+fH6AgoWHioyNj5CRlZeYmp2TiYyGenp9eXh9fX19foB/fH1/e3p8e3l5e3x7e3x
- 6d3FxcnBwcG9vb29vb29wb25tbWxsbW5vb3Fyc3N1dXV1dnd4ent9fn+BgoGAgoWEhoqJiYyLi4
- yPioaLiYSEh4WDhIOCgoKAgX58fXx5eXp4eHl4dXZ1cnN0dHR1cnJycXBxcnJycW9ubGxsbW1ub
- m5ub29vcXNzdHZ2dXh6enp+fn5/gYCBhIKFiYeGiomJi4qKjIuLjIyLiomKh4aKioeIiIWDgYB9
- fHx7e3l4eHh2dnd3d3l7enp6enp5ent7e3x7enl6e3t7fHx7e3p8fX5/gIKDg4GCg4KCg4OEhoe
- Hh4iJiomLjIqLi4uLi46Pjo2OjouJiomHh4aDgH9/fXp5eXh3d3h4eHh4d3V2d3Z0dnd0dXd3d3
- p7fH59fX19fH5+fn+Af4CAf3+Af359f4KDgoSIiIeJjI6PkJOUk5SYmZiYmZqZmJqamJiZmJaWl
- ZSTkZCQj46Ni4qHh4iFgoKBfn9+fn+AgYCAgYOCgoSEg4SFhIODg4OCgICBf35/gICAgYKCgYGD
- hIOBgYOCgYGAgIGBgIGCgoKBgoSEg4KCgH9/f318fHt6e3t7enl5eHh5fH18foCAf4GDg4OFhoa
- GhoeJh4aJioiIiYiIhoWGh4aGh4eHiImHh4mIiIeHh4iIiIqJioqJh4mKh4eJiYiHh4eHhoWGhY
- OEhYWEhYWDg4SFhYWEg4SDgYKCgH+AgICBgoOCgYGBgYKEhoaGhoiIh4eJiYmKioqKiomKioiJi
- oqJiYmJiIiIiYiHh4eHh4eGhYWFhISDgoKCgoKCgYGAf31+fXx9fn58e3x8fHx9fX19fX19fX19
- fHx9fn5/gICBgYGCgoKCg4OCgoODgoKDg4OCgoKCgoGBgYGBgYGCgYCBgIGCgoKDg4KCg4OEhIS
- FhYWFhYWFhYWFhoWGhoWEhISDg4ODg4ODg4ODg4SDgoKDg4OCg4SDgoKDgoGBgoGAgIB/f35+fn
- 9+fn9/f35+fn5/gICAgIGBgYKCg4ODg4SEg4OEhIODhIODhIODg4ODg4OCgoKBgoKCg4OCgoODg
- 4ODg4OEhISEhIWEhIWFhISEhISEhIWEhISEhIODhISEg4ODg4ODg4ODg4ODgoKCgoKCg4KCgoKC
- goKCgoKCgoOCgoKCgoKBgYKCgoKCgoGBgYGAgICAgYGBgYCAf39/f39/f3+Af39/f39/f39/gIC
- AgIB/f39/f39/gICAgIB/f39/gIB/f39/gH9/f39/f39/fn5+f39/f39/fn5+fn5/f39/f39/fn
- 5+fn9/f39/f35+fn5+fn9/f35/f39+fn5+fn9/fn5+fn5+fn5+f39+fn5+fn19fX5+fn5+fn5+f
- X5+fn5+fn5+fn19fn5+fn5+fX19fX59fn5+fn19fX19fX1+fX19fX19fX19fX19fX19fX19fX19
- fX19fX19fX19fX19fX19fX19fX19fX19fXx9fX18fH19fXx8fXx9fXx8fHx8fHx8fH19fX19fXx
- 9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX
- 19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
- X19fX19fX19fX19fX19fX19fX19fX19fX1+fX5+fn19fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
- fn5+fn5+fn5+fn5+f39/fn5/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f4B/f3
- 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f
- 39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/
- f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f4B/f39/f39/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3
- 9/f39/f39/f39/f39/f39/f35+fn5+f35/f39/f39/f39/f39/f39/f39/f39/f39/f39/f35+f
- 39+fn5/fn5+f39/fn9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/
- f39/f39/f39/f39/f39+fn9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f4CAf39/f39/f39/gIB/f39/f39/f4B/f4CAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgIB/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/gICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgIGBgYGAgYGBgICAgIGAgICBgYGAgYGBgYGBgYGBgYGBgY
- GBgYGBgYGBgYGBgYGBgYGAgYCAgICAgICAgICAgICAgICAgICAgICAgICAgH+AgICAf39/gH9/f
- 3+Af39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f4CAgH9/gIB/f39/f4B/f3+AgICAf4CA
- gICAgICAgICAgICAgH9/f4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgIB/f39/f39/f39/f4CAf39/f39/f39/f39/f39/f39+fn
- 9/fn5+fn5+fn5+fn5+fX19fX19fX19fX19fX19fX19fn5+fn5+fn9/f39/f4CAgICAgICBgYGBg
- YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCAgICAgICAgICAgICAgICAgYGAgICA
- gICAgICAgICAgICBgYGAgICAgICAgICAgICAgICAgICAgICAgIB/gICAgH9/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/gICAgICAf39/f39/gH+AgI
- CAgICAgIB/f39/f39/f4B/f39/f39/f39/f39/f39/f39/f39/f39/f39/fn9/f39/f39/f39+f
- 39/f39/f39/f39/f39/f39/f39/f4B/f4CAgICAf39/f39/gICAf39/gICAgICAgICAgICAgICA
- gICAgIGAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCAgICBgYGBgYGBgYCBgYGBgYCAgIG
- BgICAgICAgICAgICAgICAgICAgICAgICAgICBgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAf3+AgIB/f4CAf39/f39/f3+AgICAgH+AgICAf3+AgICAgICAgH9/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3
- 9/f39/f39/gH9/gICAgICAgICAgIB/gICAgH+AgIB/f39/f39/gICAgICAgH9/f3+AgH9/f4B/f
- 39/f39/f39/f39/f3+AgICAgICAf3+AgIB/f4CAgIB/f4CAgICAgICAgICAf39/f3+AgIB/f4CA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAf39/f39
- /f4CAgH9/f39/f39/f39/f39/f39/f39/f39/f39/f4B/f39/f39/gIB/f39/f39/f39/gH9/f3
- 9/f4CAgICAgIB/gICAgICAgICAgICAgICAgICAgICAgICAgH+AgICAf4CAgICAgICAgIB/gICAf
- 4CAgICAgH+Af4CAgH9/f39/f39/f39/gICAgICAgICAgICAf39/f39/f4CAgH9/gICAf3+AgICA
- gICAgICAgICAgICAgICAgICAgIB/f39/gIB/f4CAgIB/f4CAgH9/gICAf39/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3
- 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/gICAf39/gH9/f3+AgH9/f39/f39/f39/f39/f
- 39/f39/f39/f39/f39/f39/f39/gICAf3+AgH9/f3+AgH9/f4CAgH9/gICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICBgYGBgIGBgYCAgYGAgICAgYCAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAf39/f39/f4CAgIB/f4CAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAf39/f3+Af39/f39/f39/f4B/f39/f4CAgICAgICAgICAgA==
-TEL;TYPE=HOME:0351 223344
-TEL;TYPE=WORK:0351 443322
-TEL;TYPE=CELL:0173 223344
-UID:P9HXg34Oav
-URL:http://www.mustermann.de/~heiko/
-VERSION:3.0
-X-KADDRESSBOOK-X-Anniversary:1982-07-07
-X-KADDRESSBOOK-X-AssistantsName:Mr. Smithers
-X-KADDRESSBOOK-X-Department:Edutainment
-X-KADDRESSBOOK-X-IMAddress:122334455
-X-KADDRESSBOOK-X-ManagersName:Mr. Burnes
-X-KADDRESSBOOK-X-Office:223 2nd stage
-X-KADDRESSBOOK-X-Profession:Clown
-X-KADDRESSBOOK-X-SpousesName:femal clown
-END:VCARD
-
diff --git a/kabc/vcardparser/tests/vcard5.vcf.ref b/kabc/vcardparser/tests/vcard5.vcf.ref
deleted file mode 100644
index 712b49494..000000000
--- a/kabc/vcardparser/tests/vcard5.vcf.ref
+++ /dev/null
@@ -1,313 +0,0 @@
-BEGIN:VCARD
-ADR;TYPE=home;TYPE=pref:;;Buehlauer Strasse 45;Dresden;Sachsen;01327;German
- y
-ADR;TYPE=work:;;Prager Strasse 55;Dresden;Sachsen;01066;Germany
-BDAY:1955-07-19T00:00:00Z
-CATEGORIES:Friend
-CLASS:CONFIDENTIAL
-EMAIL;TYPE=PREF:heiko.mustermann@freenet.org
-EMAIL:heiko8@tst.inf.tu-dresden.de
-FN:Mustermann, Heiko
-GEO:19.283333;166.616669
-LOGO;ENCODING=b;TYPE=image/png:iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVU
- AAAOW0lEQVR4nO1df2hb1xX+OlyQwQEJXJAgBQlaiEwDsdqO2l1H47RjMe2gbjOoszG2dozG7aC
- YMIqTjS7NYKSmbE1StsQpWxMXmsSF1WhlTeSwJlZY06gsSVXWUAkakKAGPajBDxrQ/jjnez8k27
- EjJdyU+/0jPz29X9L57jnnO+deAxYWFhYWFhYWFu3Hbe082XT2ZF3+WgAAdHZ0AgBqTg0A4H7DT
- 7oAgNSdKQDAg99/sK33caPB53RqFQBA5PYIAMBdkOf6yc9+ct3P852W786irWjJMs/8+0wdACpV
- sZTS50V5vSLb1UoVQMCCvnFDx0c65f3BHw4CABJ3RL19mwYfM4Y1e/+0V5h/VbbPXzwPACiVSgA
- A15XnikVjAIB44Dli3TIKjL+2e0XPYxliGFZshSdzZ+r8OyKGjdl8AQCQfe84AKBaFUaUrojlRL
- vEUpx5h0eGjo9EZH+kQ7Yz9/d71+vdkAYApO+W16d+/NQNZ8ye8T11ACiV5TkcR5jufCX3XyrLc
- 9XmxUe6bvi5XH3OaNRnSKRL9vWsywAAstNTyz6HZYhhsD+IYbjmMPDxfz6uA0BMqQcAR96eAgBM
- vSevtTkJa6tzQnVSNn2XOLSZ03ljHHQ7MLxlSIa2kg5pOrTVHHHu/hANRDrke4t2y3cy+KgEMPs
- P7F/0O7EMMQzXtNxLn16qA8DUu1nvvcm3DgEAFlxxbo4jFpFYK4woXix8qxhxLYxuH6sDQG5Gvq
- NSueLtcxwdNTTASemoUTi3+HdkGWIYlrTkj2clzC1ckGRv3xv7vH2VK7QAlUDuktA0f/bG+YpL5
- 4WpDDXv7TdPbjm472AdACbe9L+r4mdMHuW+42uTAIByuWwZciugY6kdER3zzn8iMkFt3pc93Kvy
- d0QzvHYxI5h8Qq/BiK1YLur78nJw4mBIznj2V88ueg+HjxyrA0BEdE7EumLePp773u/e25b7jyb
- kfAObh7z3SleELS40SVZ/u+2F0ToA7H99PHRtyxDD0GQZZ9RKKxUZ+/YdmAAAFD4peJ9hbF2dq7
- aHGSpn12p+dJI7PQsAcDS3YcxfmZPXnrt65F40P+pd3wsgwF69x/xHedlWNkfX+PlUep0ck0omA
- ACxO+R10w82tfRch8leAJOas82ek+cho/sfkGtnT8xYhpiMJh9CiytVZayjYIgO37KCmWgrOPy3
- w3UAKKpsf/zd496+wkVhpOu5Lje0XS6X9X5lbJ49KxZIJqSSEu+Xrsj9V1Xw5OcBIPJBDoCfPw0
- 9IVn0sanpOgA8NXR9JYBILO7/rd8n/RV9SM1tPg6wDDEOTQxhFEKLYjbuBljBX9tjzyox/Q+xQO
- crOf7I20cAAIVz+cCnVNJu8Alo3Nb43nEjoSfa8dIOAMDs6Zy+3wcAyM3kvCtUyZ6qXLd0WZj6z
- E+fAeAX4FZbYo5Fmt9zXfeanwEsQ4xDE0Nqbi203ZhztANVZUb2PdF+imqZLgLX0OvSd7lLbPO+
- OFan1B8wGotEE3pCYfpWtX4A2L1rZ+gcHN+Pa8EtEpX3mR9tGlieKSf/dVJ9Ysl7j/fhMYTfuDa
- ANMIyxDA0Z+r6Qy7MC1Mi3lge1PijTYetBNNTkjUfOjQJAMi+LzE6S7nJtX50krknE74hZQZbij
- o19U7eKcfQAKuaP7lam+hRdZXl19kZX7Xe+PBG2acM7YzE9Bpi1UfeFN9G7Y6+77EfLR59UdGtV
- X2G8D7IEPrf7PtZq2XdCmhiCBsUYnGxLJfxP5rzkI0Pb6wDwMypmWXHVupOk0eFEfQZIy+MAQB6
- 79OGhnSvd0yk4c5o4c7Xamlrwj7Nqck9uVf5eblGVnONqIY1W38+4h3DyJH1i6j6jFi3+B1GaPm
- 8RGFsa9qrqu7zI6KfHXtHmM8KKq8ZfNZg/rMcLEMMQ5NlH/zLwVDz28SbomVRUxI0RDZJZrqici
- biYmHFz8Q6cmox6bR8bsfOVwD44ylzH47dgK9lTf5dqpOzZ0V1Hnh0AIDfXMdmO7Zx0h8MaO2aT
- JtQf7D16Se9a9CS0+uEofQVmV7ZjqhPmXhrIvQcnV2doeemv6UfIysAeNoVg9TMfdLqZH3ILYIl
- x36Oi/v+Knp+/mwhsFfHcR0X2W3Su0Gy4ZrG3tU5GaOHtwhzXv3jqwB8ZgFiaezamFVWAMDO30u
- OQAsjfvFL8QHpdFLOoPE8FQXG99UvxecMbhameOrCnB8tbh0WtjA3IZuYl6TXC1PoY/b9eRwAUL
- hYDH3emXdD20EwX4p3SzS4VKWQsAwxDPYHMQxLlnDpJNlbSyEO8BvjvDKrJnZFlcxJ+biGkRT6Y
- nf45VMAqHypXfMa0uY+8JM2Fpycr+QzfQ+JM0+nhPoMBHit3FFxuHT6FB8rGsYnusWZVsoBAVOH
- QzrlkoqlcW1qSyQkOMmsE+c9sk2Gy+d//Xzo+Ago40RD3wsARKMrG6oIyxDDsCRDOAtodLsU44M
- d3QtXKcnzLGELoXN7cos4y3jcl0QAYOFrOZ4ySLGooWqgOYBs4XVp+Qw9i2XZX1GyZtIJvQdhRi
- Il23S4ntgYSNB67xcWTs2ouDmn97FRrlX6MlzUSt8jo8XQlq0AgMm3J8Ln1OfmnBBg9U2DliGGY
- UmGEON7pE1lVNtWAGD2IwlPK1fF6jhziGMxE8eR54QhnWtUatY5hpS5ixfCPmexsDHRLedOeDK6
- YOARsdLxabHqVJIiozbvqQzvsZnvJ33r7dkgfuXQBWHC6NMSIrvqZ+grOTOsX+evPLlZRMlCXsv
- GGsZn1osgOt7Q2rMaWIYYhmsyhAj+6tue2ybNZ59ruVfl5k614igL+90NvoNz9LT5jkJgKiVWS5
- 8CAOVSGYAv9FU0eezXaItsHHkkCQBI360RnDKBzODx7iKNGcPa1FCZk3JArZzT53FC5yB4DxGN8
- IY04d3+m+23AcDMqZmma6wWliGGYcUMCWL/G+HJJsNbhkPtPBxrGwv5pcufAgDcrzlPXayX430w
- D2GMTx/CQlkqqUzokGO8MpZGUwtagqbASTAScuZ8ATOVlGa7wT6Jnnb/QacTaO4CFR0JFsXiiXj
- oGrte3lUHgJ2/29ly46BliGG4LoY0YvLoZMgyjr9zXCKyTrEozuemsEfRjtEZfUq+4MvWjFxojd
- ympTNqamq+iKjP8LJlln6VGQGxkj4hpS2lbJYeXC++xZuQpOxjO2hCi3f0lSxVtAOWIYahLQxpB
- KXmijJjQed1R9nbptbNAhbbgRBoQYomxAobW0M5jvuWrpGQRj7MyFlsYg6RSDCS863ZnZf3EmuF
- VcNPDMv9/FNKsfsPHAoxf/RFmbpWLLBtVa5JNvY90FcHWpueYRliGNrKkC/+90Ud8EucLjR7dtQ
- 3qALLaCz7vsT9nO6V7vVXcqBi6jYUqHB7wyvCDWccz6kGpFU1ZqNCENWaKAWOMjZzn8RsbOTDgU
- Ohz690vZJWYBliGNr6i1/6r0zM9LQqVXGZI3yqeQjfZ4ae2SCWyaY3QbhldOB7kqHHEuGaSiNe+
- a3UXlh2zeiaKYOPS7nW19uA8dekPB3TXGf0xVEAgXKv1oCok+VOCcs2DbY2oWc5WIYYhrb4kOms
- tFgWL0tUlf9QNB0ygcwoXw5XzQY3D9YBIK7M4MQZwM87HM1dSmzP1KgrFgv7joUFNjlwqSF5efV
- 1YUHurFj32PYx75gdL+uUhbyuf6UZeq9WFznJv6KqL33fjYRliGFoiSGc0FLUxQW8VsolmsAa4U
- VCSRnng1PlqBPFNO/gKnVs76RP6WRuo35q6HHJsqkKsPZOto7v2e1dY+QF8RkDfaqIdZCVmsOo+
- swIjbX/GwnLEMPQEkPatZoomdE47QsAoHX6aDRcm+B4X/K6YbT+oYxg/ZttopzKxsmhgF8zrzR0
- 0bDjhp/l8iL508s3lbcDliGGwf4ghsGIFXWONaxHAvgrDMVUhmGLEfuA4xoiT70rgQQdrteBr6X
- bktcoF94G/GY6hrO5U9pipAEAz1mttmfFipXAMsQw3BD5fbVwuJbUGl868UJMXdNEa0eIdocLUJ
- wH8souSfI8eV7DYcr2lPqDgUNlPtzKSqawIMXQ+3rn418PLEMMgxE+hNirCxkDQK82SrgqBqY5K
- 1eZUanK+94ahrpaUfGCyCCDm0VMpDBImb4SaHKgD/FWFVVmMGFl6Tl3Qgpok0eXXwS5HbAMMQxG
- MSSIsZekXNp7v8zKymzo0T26WpHO42MjNxsmGHWx6a6/rz/0uWDBi+coFJRdnDHLiI4rTqxQCmo
- HLEMMgxFR1mJgMOQ1YHO7S14b1zQhQ5iHsLXoiM6g9SbTICDPdIRbiLw5kyqpNK72djNgGWIYjG
- VIPB5e+cBrauvSdh5tGWKbEHMJFrn6HxDf0bNOfE+Na7cEWaFPT+m+oNMjip9J/pE90Xrz9GphG
- WIYjGUIW/zZyMysOcrGuTjXVAwXjbgST0WjKbZ70nXkC77VFy9r/jEXZteC077W0NXCMsQwGJuH
- NGJsp+QlfZqXsHWHKi4n1xS0YZvToWc+lPLr+U+k2BSqgV31MnNjvgfLEMNgjGWsFFytiM3WcZW
- BOUWgoj6kqv/Ii00RXBm7GljViBFXwaD/d2IZYhiMjbKWgreUhlb3OAFz4CHZz6aGWHd4hTnHFc
- WWjeBAeJKpKbAMMQy3HEO45Mfecfl3qNSyuB5iRtt/XP43hK5w3nK+4rcBNa7FZQIsQwyDMdFFq
- xh9UZb+6HtIlr1wF8SHFM6JPsVGueDiMzej8W21sAwxDPYHMQy3nFNfCmltrKuWRDrhv0HlUMWV
- 8Rrn1JsGyxDDYLS1XA927ZZWooL+MzC29sycuHmNCq3AMsQwfGt8CFHISwEqskbDWwPlkeVgGWJ
- xczH20lidTXe3AixDLCwsLCwsviX4P68/8cprSSqmAAAAAElFTkSuQmCC
-N:Mustermann;Heiko;;;
-NICKNAME:clown
-NOTE:I'm a friendly note text,\nplease copy me to your address book...
-ORG:KDE
-PHOTO;ENCODING=b;TYPE=image/png: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
-ROLE:Developer
-SOUND;ENCODING=b:UklGRiQgAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YQAgAA
- B/f39/f39/f39/f39/f4B/gH+Af4CAgIGBgYGBgYGBgYGBgYGBgYGBgIGAgICBgYGBgYGBgYCAg
- YGAgICAgICAgIGBgICAgYCAgICBgICAgICAgICAgIGAgICAgYCAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAf4CAgICAgICAgICAgICAgIB/f4CAgICAgICAgIB/f4B/f39/f39/f3+AgICAf4CAf3
- 9/gIB/f4CAgH9/gICAgH+AgICAgICAgICAf4CAgIB/gICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgIB/gICAf39/f39/f3+Af4CAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgH9/f39/f39/f39/f39/f4CAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYCAgICB
- gICAgYGBgICAgICAgICAgIGAgICBgICBgYGBgYGBgYGAgYGBgYCBgYGBgYGBgYGBgYGBgYGBgYG
- BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgICAgYGBgIGBgYGAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgH+AgICAgICAgICAgICAgICAgICAf4CAgIB/gH+Af4B/f39/f39/f
- 39/f39/f4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYG
- BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgY
- GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAgIGBgYCAgICBgYCAgYGBgYCAgICBg
- YCAgICAgICAgICAgICAgIGAgICAgICAgICAgICAgYGBgYGAgICAgIGBgYCAgICBgYGAgICAgIGA
- gICAgICAgIGBgYCBgYGAgYGBgYGBgoGBgYGCgoGAgICBgYGBgYCBgYKCgYGBgYGBgYGAgYGBgH9
- /gIB/f3+AgIB/gH9/gICAf4CBgYB/f35+gIB/f4CBgX9/gYCAgYKCgYCAgYOBgICAgoGAf4GCgn
- 9/gIB/gICBgH5/f4GAfX+BgYB+fn9/fn+Afn6Af39+f35+fn9+fn6AgH9/f4CAgYCAgYKCgH9/g
- IKBf3+AgYJ/f4GCg4F/gIGCgoOBfoCDgYF/fH+BgYGAfn6Af4CCgn58gIN/fX+AgICBgYGAgYCB
- goOCgICBgYB/fXyBhIGAgH5+f4GBgX9/f35+gIKCgXt9goN/f318f4GAf4B/fHt9fn5+fXx+fn5
- /gH9+fHx/gHx9f4CAfn18gIB9e4GBfn5+foCBfHyAgoGAfX6CgYCBgH+DgHt9gYN/fX2BhYB7en
- 6AgH98foKCgH18foCAfoCAf4CAf31+fn+AgH1+goJ/fX5/gIKAgIGAfH6CgX17foCBf3+BgoB/g
- YOBgIB/f4KDgoJ+e3+ChIOBfn1/gX+BfX2BgH59foCCfn1/gX99fICAgoB/f39/gISCf36AgoSB
- foCBgYGAf4CCf4CCgX5/gYKDgYB/gH+BhIOBgYB/gIOEhIF9foGCg4OBgICBgoOCgICChIOBg4O
- CgoSDgoKAgYKBgoODhISBf4CCg4SEgoGCg4SEgH6BhIWEgX+EhYKAgoKFhIB+gIKChYKAgYOCgo
- B+gYWFhIKAg4WEg4ODhIWFhYaGhIWGhYWGh4eHhYOCgoSFg4B/gIB+fX1+fn57e3t7fHt6fH5/f
- 4GDhYiMkJGQj5GVmZycmZiXlZGIfXRwcnZ4d3Nva2hoamppaWxvc3R0dXl+iJCPjZShqrCzvNHi
- rFYxOmKSrJ6UmJOAbV1ZboSMjI6JfnNjW2JweYGFg4B/e3Z0c3Btc3p9fHp4fIGBf3+Dh4qLjJG
- YnZuWkY6MhnpwbnN6fHlya2hlZmdmaW9ycXFzd3t/g42cpquzvMzd/sRADiBZkL6xpLa1jFpANV
- iHoJ2ioJWGbEQ2VHaOm5aHhIFuYmZzgoVxZFxfdJCSgnt/kKewr7bDsopcSV6JopyRjpOQfmNXZ
- HmGhYB8fXtvXExKXnyKgnJsc3t8fZC0ysfK0+vHTxEeXY6yr6rAxJRSNTdbh5+fp7KjglQ6PVx3
- ho6Ph3dmW15oa2x0hIuNkK3R18jJ0Ys8LUlxkqais8WtdlBFT2yDjpywro9mS0VVaXaBiIdyX2J
- rcG5udYKKjaXT4dfV2Y82JkBpiaKkvdO2eE9GTGZ4hZu6u51yTUNOX2l9kZWKdl5PXG93dHeAip
- KZut7j2tacRjJIYHCOo77XvoRdVlFYZniVuL+kfl9ST1Rcb4mTjoNxW1pqdXd5fH6CiKHN4d7k2
- 4E4N05Yaoqo1eO0emVbTU5ZdKDCuZV9b1tMSVlyiYp8dHl7cmpqdYCCgIqixNTR2OqnRTlPXFt3
- ksbnw4lzcFdKS2KMtLWZiIZwV0lPZXZ1b3uNinZqbXJ3dX2XxOPg4/zDUDRCTUhmiMXx1p+If1g
- +O1J7pK+yspN3W0pGVGdugYmCen54b21rb3V9i6vZ7vD92WpAS0gzSny04tq3qp5qPDhHX3uVrs
- KukXVhT0hRYnF/gnuCh31ubG9zdHeMs+Dr8P7KalFVOylJeq7QzMPIqmtIRUZOY4KovqicknhZS
- 1BWXWh6gIeLiH91b21vc4GcyuXt/umTZGhGIjJfh6y+yt7LkGlfTD1GYYOipKKwnXhkXldVUFhs
- dYOMjYWBem9ucoCWvNTm9+2weHdZMSpQboujvtnUrY6BZEdDUmV4jZypppeFd2dcWVFWWWh8hYS
- Ii393c3Z7iJ3A1ePp3aGDfVYyOVZkfJe5zsavpJNsU1BTVmR9kpmcn5uGdGxoWU5VVGZ0fIKLh4
- F/d3Z6g4ufuc3e3depjoViPz9VWm2FqLu8tLGifmphWlJZbH+Lj5+elod+c19WU0xUZW11gISEg
- nx6e3h6g4qWp7zM3NrSpZGIYkRFVVVlfZ6vsbW3qIl7b2BUWGVwe4ybn52TkIRuX2BVRVFjZmp7
- hIF9fX12cnZ6eX6LlZyousfP0c++jot6X0ZRXF9sgaCnqa6yn4eAdGZZYGlvd4mcnqCWnY91aWN
- cSUtYYmJxf399f351cXFzcHF4foOIlZ+hp7CytLm8uLKNg4RtYF5oanN8j5qZnqGaioV9dGpqb3
- J1f42Rk5iZjIKAcmFcW1RXYGhwdXt+e3Z2c25tcXJxd3yChY2Tl5udn6Gho6ioq6uonoaHbWNzZ
- GdxgoGPlZqdj5CJgHFzcWxwdH1/hYqOioSFfnFpaWBdX2Jqb3N5fHh4eHNxcXFxc3d7foOJjI6Q
- lZOSlZOTl5eYnJucnpyZkYiEfnd1dnZ5fYKHio6QkIyHg394dHRzc3Z5fHt2enJrcG5obG9sbW9
- ucHJzdnh3eXp5eXt9foCDhoeJjI6OkJGSk5aYmZudn6Gjn5qLh4J3cnJ0dHR5g4GEi42Ih4aBfH
- h4dXR1eHl4dXhuaW5rZ2ltaWttbW5vcnR1dHZ2dXV2d3d7fn+BhIeIiYuOjpCTlJWZnJueoKarr
- ZuJhntvaW1ucnh+hIWJi4qFg4F7d3V1c3R3fH1/gHlvbXJnXmdpYmdtamtxcW9vbm9tamxtbG5z
- dXZ5fHx7fX9+fH6AgoWHioyNj5CRlZeYmp2TiYyGenp9eXh9fX19foB/fH1/e3p8e3l5e3x7e3x
- 6d3FxcnBwcG9vb29vb29wb25tbWxsbW5vb3Fyc3N1dXV1dnd4ent9fn+BgoGAgoWEhoqJiYyLi4
- yPioaLiYSEh4WDhIOCgoKAgX58fXx5eXp4eHl4dXZ1cnN0dHR1cnJycXBxcnJycW9ubGxsbW1ub
- m5ub29vcXNzdHZ2dXh6enp+fn5/gYCBhIKFiYeGiomJi4qKjIuLjIyLiomKh4aKioeIiIWDgYB9
- fHx7e3l4eHh2dnd3d3l7enp6enp5ent7e3x7enl6e3t7fHx7e3p8fX5/gIKDg4GCg4KCg4OEhoe
- Hh4iJiomLjIqLi4uLi46Pjo2OjouJiomHh4aDgH9/fXp5eXh3d3h4eHh4d3V2d3Z0dnd0dXd3d3
- p7fH59fX19fH5+fn+Af4CAf3+Af359f4KDgoSIiIeJjI6PkJOUk5SYmZiYmZqZmJqamJiZmJaWl
- ZSTkZCQj46Ni4qHh4iFgoKBfn9+fn+AgYCAgYOCgoSEg4SFhIODg4OCgICBf35/gICAgYKCgYGD
- hIOBgYOCgYGAgIGBgIGCgoKBgoSEg4KCgH9/f318fHt6e3t7enl5eHh5fH18foCAf4GDg4OFhoa
- GhoeJh4aJioiIiYiIhoWGh4aGh4eHiImHh4mIiIeHh4iIiIqJioqJh4mKh4eJiYiHh4eHhoWGhY
- OEhYWEhYWDg4SFhYWEg4SDgYKCgH+AgICBgoOCgYGBgYKEhoaGhoiIh4eJiYmKioqKiomKioiJi
- oqJiYmJiIiIiYiHh4eHh4eGhYWFhISDgoKCgoKCgYGAf31+fXx9fn58e3x8fHx9fX19fX19fX19
- fHx9fn5/gICBgYGCgoKCg4OCgoODgoKDg4OCgoKCgoGBgYGBgYGCgYCBgIGCgoKDg4KCg4OEhIS
- FhYWFhYWFhYWFhoWGhoWEhISDg4ODg4ODg4ODg4SDgoKDg4OCg4SDgoKDgoGBgoGAgIB/f35+fn
- 9+fn9/f35+fn5/gICAgIGBgYKCg4ODg4SEg4OEhIODhIODhIODg4ODg4OCgoKBgoKCg4OCgoODg
- 4ODg4OEhISEhIWEhIWFhISEhISEhIWEhISEhIODhISEg4ODg4ODg4ODg4ODgoKCgoKCg4KCgoKC
- goKCgoKCgoOCgoKCgoKBgYKCgoKCgoGBgYGAgICAgYGBgYCAf39/f39/f3+Af39/f39/f39/gIC
- AgIB/f39/f39/gICAgIB/f39/gIB/f39/gH9/f39/f39/fn5+f39/f39/fn5+fn5/f39/f39/fn
- 5+fn9/f39/f35+fn5+fn9/f35/f39+fn5+fn9/fn5+fn5+fn5+f39+fn5+fn19fX5+fn5+fn5+f
- X5+fn5+fn5+fn19fn5+fn5+fX19fX59fn5+fn19fX19fX1+fX19fX19fX19fX19fX19fX19fX19
- fX19fX19fX19fX19fX19fX19fX19fX19fXx9fX18fH19fXx8fXx9fXx8fHx8fHx8fH19fX19fXx
- 9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX
- 19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
- X19fX19fX19fX19fX19fX19fX19fX19fX1+fX5+fn19fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
- fn5+fn5+fn5+fn5+f39/fn5/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f4B/f3
- 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f
- 39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/
- f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f4B/f39/f39/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3
- 9/f39/f39/f39/f39/f39/f35+fn5+f35/f39/f39/f39/f39/f39/f39/f39/f39/f39/f35+f
- 39+fn5/fn5+f39/fn9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/
- f39/f39/f39/f39/f39+fn9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f4CAf39/f39/f39/gIB/f39/f39/f4B/f4CAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgIB/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/gICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgIGBgYGAgYGBgICAgIGAgICBgYGAgYGBgYGBgYGBgYGBgY
- GBgYGBgYGBgYGBgYGBgYGAgYCAgICAgICAgICAgICAgICAgICAgICAgICAgH+AgICAf39/gH9/f
- 3+Af39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f4CAgH9/gIB/f39/f4B/f3+AgICAf4CA
- gICAgICAgICAgICAgH9/f4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgIB/f39/f39/f39/f4CAf39/f39/f39/f39/f39/f39+fn
- 9/fn5+fn5+fn5+fn5+fX19fX19fX19fX19fX19fX19fn5+fn5+fn9/f39/f4CAgICAgICBgYGBg
- YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCAgICAgICAgICAgICAgICAgYGAgICA
- gICAgICAgICAgICBgYGAgICAgICAgICAgICAgICAgICAgICAgIB/gICAgH9/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/gICAgICAf39/f39/gH+AgI
- CAgICAgIB/f39/f39/f4B/f39/f39/f39/f39/f39/f39/f39/f39/f39/fn9/f39/f39/f39+f
- 39/f39/f39/f39/f39/f39/f39/f4B/f4CAgICAf39/f39/gICAf39/gICAgICAgICAgICAgICA
- gICAgIGAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCAgICBgYGBgYGBgYCBgYGBgYCAgIG
- BgICAgICAgICAgICAgICAgICAgICAgICAgICBgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAf3+AgIB/f4CAf39/f39/f3+AgICAgH+AgICAf3+AgICAgICAgH9/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3
- 9/f39/f39/gH9/gICAgICAgICAgIB/gICAgH+AgIB/f39/f39/gICAgICAgH9/f3+AgH9/f4B/f
- 39/f39/f39/f39/f3+AgICAgICAf3+AgIB/f4CAgIB/f4CAgICAgICAgICAf39/f3+AgIB/f4CA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAf39/f39
- /f4CAgH9/f39/f39/f39/f39/f39/f39/f39/f39/f4B/f39/f39/gIB/f39/f39/f39/gH9/f3
- 9/f4CAgICAgIB/gICAgICAgICAgICAgICAgICAgICAgICAgH+AgICAf4CAgICAgICAgIB/gICAf
- 4CAgICAgH+Af4CAgH9/f39/f39/f39/gICAgICAgICAgICAf39/f39/f4CAgH9/gICAf3+AgICA
- gICAgICAgICAgICAgICAgICAgIB/f39/gIB/f4CAgIB/f4CAgH9/gICAf39/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3
- 9/f39/f39/f39/f39/f39/f39/f39/f39/f39/gICAf39/gH9/f3+AgH9/f39/f39/f39/f39/f
- 39/f39/f39/f39/f39/f39/f39/gICAf3+AgH9/f3+AgH9/f4CAgH9/gICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAgICAgICBgYGBgIGBgYCAgYGAgICAgYCAgICAgICAgICAgICAgICAg
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
- gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
- AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
- CAgICAgICAgICAgICAgICAf39/f39/f4CAgIB/f4CAgICAgICAgICAgICAgICAgICAgICAgICAg
- ICAf39/f3+Af39/f39/f39/f4B/f39/f4CAgICAgICAgICAgA==
-TEL;TYPE=HOME:0351 223344
-TEL;TYPE=WORK:0351 443322
-TEL;TYPE=CELL:0173 223344
-UID:P9HXg34Oav
-URL:http://www.mustermann.de/~heiko/
-VERSION:3.0
-X-KADDRESSBOOK-X-Anniversary:1982-07-07
-X-KADDRESSBOOK-X-AssistantsName:Mr. Smithers
-X-KADDRESSBOOK-X-Department:Edutainment
-X-KADDRESSBOOK-X-IMAddress:122334455
-X-KADDRESSBOOK-X-ManagersName:Mr. Burnes
-X-KADDRESSBOOK-X-Office:223 2nd stage
-X-KADDRESSBOOK-X-Profession:Clown
-X-KADDRESSBOOK-X-SpousesName:femal clown
-END:VCARD
-
diff --git a/kabc/vcardparser/tests/vcard6.vcf b/kabc/vcardparser/tests/vcard6.vcf
deleted file mode 100644
index 92339c798..000000000
--- a/kabc/vcardparser/tests/vcard6.vcf
+++ /dev/null
@@ -1,10 +0,0 @@
-BEGIN:VCARD
-CLASS:PUBLIC
-EMAIL;TYPE=PREF:email1@abc.de
-EMAIL:email2@abc.de
-FN:Test User
-N:User;Test;;;
-UID:uJTkVqH5Qt
-VERSION:3.0
-END:VCARD
-
diff --git a/kabc/vcardparser/tests/vcard6.vcf.ref b/kabc/vcardparser/tests/vcard6.vcf.ref
deleted file mode 100644
index 3cfde20b9..000000000
--- a/kabc/vcardparser/tests/vcard6.vcf.ref
+++ /dev/null
@@ -1,10 +0,0 @@
-BEGIN:VCARD
-CLASS:PUBLIC
-EMAIL;TYPE=PREF:email1@abc.de
-EMAIL:email2@abc.de
-FN:Test User
-N:User;Test;;;
-UID:uJTkVqH5Qt
-VERSION:3.0
-END:VCARD
-
diff --git a/kabc/vcardparser/tests/vcard7.vcf b/kabc/vcardparser/tests/vcard7.vcf
deleted file mode 100644
index 8b5be8ec7..000000000
--- a/kabc/vcardparser/tests/vcard7.vcf
+++ /dev/null
@@ -1,7 +0,0 @@
-BEGIN:VCARD
-N:
-LABEL;QUOTED-PRINTABLE;WORK:401 Park Drive 3 West=0ABoston, MA 02215=0AUSA=0A=
-Herecomesyetanotherline
-UID:pas-id-3E136F9B00000000
-END:VCARD
-
diff --git a/kabc/vcardparser/tests/vcard7.vcf.ref b/kabc/vcardparser/tests/vcard7.vcf.ref
deleted file mode 100644
index 84ed6236b..000000000
--- a/kabc/vcardparser/tests/vcard7.vcf.ref
+++ /dev/null
@@ -1,8 +0,0 @@
-BEGIN:VCARD
-LABEL;TYPE=work:401 Park Drive 3 West\nBoston\, MA 02215\nUSA\nHerecomesye
- tanotherline
-N:;;;;
-UID:pas-id-3E136F9B00000000
-VERSION:3.0
-END:VCARD
-
diff --git a/kabc/vcardparser/testutils.cpp b/kabc/vcardparser/testutils.cpp
deleted file mode 100644
index df4b60c9c..000000000
--- a/kabc/vcardparser/testutils.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#include <vcardparser.h>
-#include <kabc/addressee.h>
-#include <tqfile.h>
-
-using namespace KABC;
-
-Addressee
-vcard1()
-{
- Addressee addr;
-
- addr.setName( "Frank Dawson" );
- addr.setOrganization( "Lotus Development Corporation" );
- addr.setUrl( KURL( "http://home.earthlink.net/~fdawson") );
- addr.insertEmail( "fdawson@earthlink.net" );
- addr.insertEmail( "Frank_Dawson@Lotus.com", true );
- addr.insertPhoneNumber( PhoneNumber("+1-919-676-9515",PhoneNumber::Voice|PhoneNumber::Msg
- |PhoneNumber::Work ) );
- addr.insertPhoneNumber( PhoneNumber("+1-919-676-9564",PhoneNumber::Fax |PhoneNumber::Work ));
- Address a( Address::Work | Address::Postal | Address::Parcel );
- a.setStreet( "6544 Battleford Drive" );
- a.setLocality( "Raleigh" );
- a.setRegion( "NC" );
- a.setPostalCode( "27613-3502" );
- a.setCountry( "U.S.A." );
- addr.insertAddress( a );
- return addr;
-}
-
-Addressee
-vcard2()
-{
- Addressee addr;
-
- addr.setName( "Tim Howes" );
- addr.setOrganization( "Netscape Communications Corp." );
- addr.insertEmail( "howes@netscape.com" );
- addr.insertPhoneNumber( PhoneNumber("+1-415-937-3419",PhoneNumber::Voice|PhoneNumber::Msg
- |PhoneNumber::Work) );
- addr.insertPhoneNumber( PhoneNumber("+1-415-528-4164",PhoneNumber::Fax |PhoneNumber::Work) );
- Address a( Address::Work );
- a.setStreet( "501 E. Middlefield Rd." );
- a.setLocality( "Mountain View" );
- a.setRegion( "CA" );
- a.setPostalCode( "94043" );
- a.setCountry( "U.S.A." );
- addr.insertAddress( a );
- return addr;
-}
-
-Addressee
-vcard3()
-{
- Addressee addr;
-
- addr.setName( "ian geiser" );
- addr.setOrganization( "Source eXtreme" );
- addr.insertEmail( "geiseri@yahoo.com" );
- addr.setTitle( "VP of Engineering" );
- return addr;
-}
-
-
-QString
-vcardAsText( const TQString& location )
-{
- TQString line;
- TQFile file( location );
- if ( file.open( IO_ReadOnly ) ) {
- TQTextStream stream( &file );
- if ( !stream.eof() ) {
- line = stream.read();
- }
- file.close();
- }
- return line;
-}
-
-Addressee::List
-vCardsAsAddresseeList()
-{
- Addressee::List l;
-
- l.append( vcard1() );
- l.append( vcard2() );
- l.append( vcard3() );
-
- return l;
-}
-
-QString
-vCardsAsText()
-{
- TQString vcards = vcardAsText( "tests/vcard1.vcf" );
- vcards += vcardAsText( "tests/vcard2.vcf" );
- vcards += vcardAsText( "tests/vcard3.vcf" );
-
- return vcards;
-}
diff --git a/kabc/vcardparser/testutils.h b/kabc/vcardparser/testutils.h
deleted file mode 100644
index 4f2024177..000000000
--- a/kabc/vcardparser/testutils.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef TESTUTILS_H
-#define TESTUTILS_H
-
-#include <kabc/addressee.h>
-#include <tqstring.h>
-
-KABC::Addressee vcard1();
-KABC::Addressee vcard2();
-KABC::Addressee vcard3();
-KABC::Addressee::List vCardsAsAddresseeList();
-TQString vCardAsText( const TQString& location );
-TQString vCardsAsText();
-
-#endif
diff --git a/kabc/vcardparser/testwrite.cpp b/kabc/vcardparser/testwrite.cpp
deleted file mode 100644
index 5a58bd8a8..000000000
--- a/kabc/vcardparser/testwrite.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- This file is part of libkabc.
-
- This library 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.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include <kabc/addressee.h>
-#include <kabc/phonenumber.h>
-#include <kabc/address.h>
-#include <kabc/key.h>
-#include <kabc/picture.h>
-#include <kabc/sound.h>
-#include <kabc/secrecy.h>
-#include <tdeaboutdata.h>
-#include <tdeapplication.h>
-#include <tdecmdlineargs.h>
-
-#include <tqfile.h>
-#include <tqtextstream.h>
-
-#include "vcardconverter.h"
-
-int main( int argc, char **argv )
-{
- TDEAboutData aboutData( "testwrite", "vCard test writer", "0.1" );
-
- TDECmdLineArgs::init( argc, argv, &aboutData );
-
- TDEApplication app( false, false );
-
-
- KABC::Addressee addressee;
-
- addressee.setNameFromString( "Mr. Tobias Koenig Jr." );
- addressee.setNickName( "tokoe" );
- addressee.setBirthday( TQDate( 1982, 7, 19 ) );
- addressee.setMailer( "mutt1.2" );
- addressee.setTimeZone( KABC::TimeZone( +2 ) );
-
- KABC::Geo geo;
- geo.setLatitude( 30 );
- geo.setLongitude( 51 );
- addressee.setGeo( geo );
-
- addressee.setTitle( "nerd" );
- addressee.setRole( "Maintainer" );
- addressee.setOrganization( "KDE" );
- addressee.setNote( "nerver\ntouch a running system" );
- addressee.setProductId( "testId" );
- addressee.setRevision( TQDateTime::currentDateTime() );
- addressee.setSortString( "koenig" );
- addressee.setUrl( KURL( "http://wgess16.dyndns.org") );
- addressee.setSecrecy( KABC::Secrecy( KABC::Secrecy::Confidential ) );
-/*
- TQImage img;
- img.load( "testimg.png", "PNG" );
- KABC::Picture photo;
- photo.setData( img );
- addressee.setPhoto( photo );
-
- TQImage img2;
- img2.load( "testimg.png", "PNG" );
- KABC::Picture logo;
- logo.setData( img2 );
- addressee.setLogo( logo );
-
- TQFile soundFile( "testsound.wav" );
- soundFile.open( IO_ReadOnly );
- TQByteArray data = soundFile.readAll();
- soundFile.close();
- KABC::Sound sound;
- sound.setData( data );
- addressee.setSound( sound );
-*/
- addressee.insertEmail( "tokoe@kde.org", true );
- addressee.insertEmail( "tokoe82@yahoo.de", true );
-
- KABC::PhoneNumber phone1( "3541523475", KABC::PhoneNumber::Pref | KABC::PhoneNumber::Home );
- KABC::PhoneNumber phone2( "+46745673475", KABC::PhoneNumber::Work );
- addressee.insertPhoneNumber( phone1 );
- addressee.insertPhoneNumber( phone2 );
-
- KABC::Key key( "secret key", KABC::Key::X509 );
- addressee.insertKey( key );
-
- TQStringList categories;
- categories << "Friends" << "School" << "KDE";
- addressee.setCategories( categories );
-
- KABC::Address a( KABC::Address::Work | KABC::Address::Postal | KABC::Address::Parcel );
- a.setStreet( "6544 Battleford Drive" );
- a.setLocality( "Raleigh" );
- a.setRegion( "NC" );
- a.setPostalCode( "27613-3502" );
- a.setCountry( "U.S.A." );
- addressee.insertAddress( a );
-
- addressee.insertCustom( "1hsdf", "ertuer", "iurt" );
- addressee.insertCustom( "2hsdf", "ertuer", "iurt" );
- addressee.insertCustom( "3hsdf", "ertuer", "iurt" );
-
- KABC::Addressee::List list;
- for ( int i = 0; i < 1000; ++i ) {
- KABC::Addressee addr = addressee;
- addr.setUid( TQString::number( i ) );
- list.append( addr );
- }
-
- KABC::VCardConverter converter;
- TQString txt = converter.createVCards( list );
-
- TQFile file( "out.vcf" );
- file.open( IO_WriteOnly );
-
- TQTextStream s( &file );
- s.setEncoding( TQTextStream::UnicodeUTF8 );
- s << txt;
- file.close();
-
- return 0;
-}
diff --git a/kabc/vcardparser/vcard.cpp b/kabc/vcardparser/vcard.cpp
deleted file mode 100644
index 30a8e1c49..000000000
--- a/kabc/vcardparser/vcard.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- This file is part of libkabc.
- Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
-
- This library 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.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "vcard.h"
-
-using namespace KABC;
-
-VCard::VCard()
-{
-}
-
-VCard::VCard( const VCard& vcard )
-{
- mLineMap = vcard.mLineMap;
-}
-
-VCard::~VCard()
-{
-}
-
-VCard& VCard::operator=( const VCard& vcard )
-{
- if ( &vcard == this )
- return *this;
-
- mLineMap = vcard.mLineMap;
-
- return *this;
-}
-
-void VCard::clear()
-{
- mLineMap.clear();
-}
-
-TQStringList VCard::identifiers() const
-{
- return mLineMap.keys();
-}
-
-void VCard::addLine( const VCardLine& line )
-{
- mLineMap[ line.identifier() ].append( line );
-}
-
-VCardLine::List VCard::lines( const TQString& identifier ) const
-{
- LineMap::ConstIterator it = mLineMap.find( identifier );
- if ( it == mLineMap.end() )
- return VCardLine::List();
-
- return *it;
-}
-
-VCardLine VCard::line( const TQString& identifier ) const
-{
- LineMap::ConstIterator it = mLineMap.find( identifier );
- if ( it == mLineMap.end() )
- return VCardLine();
-
- if ( (*it).isEmpty() )
- return VCardLine();
- else
- return (*it).first();
-}
-
-void VCard::setVersion( Version version )
-{
- mLineMap.erase( "VERSION" );
-
- VCardLine line;
- line.setIdentifier( "VERSION" );
- if ( version == v2_1 )
- line.setIdentifier( "2.1" );
- else if ( version == v3_0 )
- line.setIdentifier( "3.0" );
-
- mLineMap[ "VERSION" ].append( line );
-}
-
-VCard::Version VCard::version() const
-{
- LineMap::ConstIterator versionEntry = mLineMap.find( "VERSION" );
- if ( versionEntry == mLineMap.end() )
- return v3_0;
-
- VCardLine line = ( *versionEntry )[ 0 ];
- if ( line.value() == "2.1" )
- return v2_1;
- else
- return v3_0;
-}
diff --git a/kabc/vcardparser/vcard.h b/kabc/vcardparser/vcard.h
deleted file mode 100644
index 6afeeda26..000000000
--- a/kabc/vcardparser/vcard.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- This file is part of libkabc.
- Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
-
- This library 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.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef VCARDPARSER_VCARD_H
-#define VCARDPARSER_VCARD_H
-
-#include "vcardline.h"
-#include <tqmap.h>
-#include <tqstringlist.h>
-#include <tqvaluelist.h>
-
-namespace KABC {
-
-class VCard
-{
- public:
- typedef TQValueList<VCard> List;
- typedef TQMap< TQString, VCardLine::List > LineMap;
-
- enum Version { v2_1, v3_0 };
-
- VCard();
- VCard( const VCard& );
-
- ~VCard();
-
- VCard& operator=( const VCard& );
-
- /**
- * Removes all lines from the vCard.
- */
- void clear();
-
- /**
- * Returns a list of all identifiers that exists in the
- * vCard.
- */
- TQStringList identifiers() const;
-
- /**
- * Adds a VCardLine to the VCard
- */
- void addLine( const VCardLine& line );
-
- /**
- * Returns all lines of the vcard with a special identifier.
- */
- VCardLine::List lines( const TQString& identifier ) const;
-
- /**
- * Returns only the first line of the vcard with a special identifier.
- */
- VCardLine line( const TQString& identifier ) const;
-
- /**
- * Set the version of the vCard.
- */
- void setVersion( Version version );
-
- /**
- * Returns the version of this vCard.
- */
- Version version() const;
-
- private:
- LineMap mLineMap;
-
- class VCardPrivate;
- VCardPrivate *d;
-};
-
-}
-
-#endif
diff --git a/kabc/vcardparser/vcardline.cpp b/kabc/vcardparser/vcardline.cpp
deleted file mode 100644
index 6680cf7d0..000000000
--- a/kabc/vcardparser/vcardline.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- This file is part of libkabc.
- Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
-
- This library 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.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "vcardline.h"
-
-using namespace KABC;
-
-class VCardLine::VCardLinePrivate
-{
- public:
- TQString mGroup;
-};
-
-VCardLine::VCardLine()
- : d( 0 )
-{
-}
-
-VCardLine::VCardLine( const TQString &identifier )
- : d( 0 )
-{
- mIdentifier = identifier;
-}
-
-VCardLine::VCardLine( const TQString &identifier, const TQVariant &value )
- : d( 0 )
-{
- mIdentifier = identifier;
- mValue = value;
-}
-
-VCardLine::VCardLine( const VCardLine& line )
- : d( 0 )
-{
- mParamMap = line.mParamMap;
- mValue = line.mValue;
- mIdentifier = line.mIdentifier;
-}
-
-VCardLine::~VCardLine()
-{
- delete d;
- d = 0;
-}
-
-VCardLine& VCardLine::operator=( const VCardLine& line )
-{
- if ( &line == this )
- return *this;
-
- mParamMap = line.mParamMap;
- mValue = line.mValue;
- mIdentifier = line.mIdentifier;
-
- return *this;
-}
-
-void VCardLine::setIdentifier( const TQString& identifier )
-{
- mIdentifier = identifier;
-}
-
-TQString VCardLine::identifier() const
-{
- return mIdentifier;
-}
-
-void VCardLine::setValue( const TQVariant& value )
-{
- mValue = value;
-}
-
-TQVariant VCardLine::value() const
-{
- return mValue;
-}
-
-void VCardLine::setGroup( const TQString& group )
-{
- if ( !d )
- d = new VCardLinePrivate();
-
- d->mGroup = group;
-}
-
-TQString VCardLine::group() const
-{
- if ( d )
- return d->mGroup;
- else
- return TQString();
-}
-
-bool VCardLine::hasGroup() const
-{
- if ( !d )
- return false;
- else
- return d->mGroup.isEmpty();
-}
-
-TQStringList VCardLine::parameterList() const
-{
- return mParamMap.keys();
-}
-
-void VCardLine::addParameter( const TQString& param, const TQString& value )
-{
- TQStringList &list = mParamMap[ param ];
- if ( list.findIndex( value ) == -1 ) // not included yet
- list.append( value );
-}
-
-TQStringList VCardLine::parameters( const TQString& param ) const
-{
- ParamMap::ConstIterator it = mParamMap.find( param );
- if ( it == mParamMap.end() )
- return TQStringList();
- else
- return *it;
-}
-
-TQString VCardLine::parameter( const TQString& param ) const
-{
- ParamMap::ConstIterator it = mParamMap.find( param );
- if ( it == mParamMap.end() )
- return TQString::null;
- else {
- if ( (*it).isEmpty() )
- return TQString::null;
- else
- return (*it).first();
- }
-}
diff --git a/kabc/vcardparser/vcardline.h b/kabc/vcardparser/vcardline.h
deleted file mode 100644
index 92fe743f6..000000000
--- a/kabc/vcardparser/vcardline.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- This file is part of libkabc.
- Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
-
- This library 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.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef VCARDLINE_H
-#define VCARDLINE_H
-
-#include <tqstringlist.h>
-#include <tqvaluelist.h>
-#include <tqvariant.h>
-#include <tqmap.h>
-#include <tqstring.h>
-
-namespace KABC {
-
-class VCardLine
-{
- public:
- typedef TQValueList<VCardLine> List;
- typedef TQMap<TQString, TQStringList> ParamMap;
-
- VCardLine();
- VCardLine( const TQString &identifier );
- VCardLine( const TQString &identifier, const TQVariant &value );
- VCardLine( const VCardLine& );
-
- ~VCardLine();
-
- VCardLine& operator=( const VCardLine& );
-
- /**
- * Sets the identifier of this line e.g. UID, FN, CLASS
- */
- void setIdentifier( const TQString& identifier );
-
- /**
- * Returns the identifier of this line.
- */
- TQString identifier() const;
-
- /**
- * Sets the value of of this line.
- */
- void setValue( const TQVariant& value );
-
- /**
- * Returns the value of this line.
- */
- TQVariant value() const;
-
- /**
- * Sets the group the line belongs to.
- */
- void setGroup( const TQString& group );
-
- /**
- * Returns the group the line belongs to.
- */
- TQString group() const;
-
- /**
- * Returns whether the line belongs to a group.
- */
- bool hasGroup() const;
-
- /**
- * Returns all parameters.
- */
- TQStringList parameterList() const;
-
- /**
- * Add a new parameter to the line.
- */
- void addParameter( const TQString& param, const TQString& value );
-
- /**
- * Returns the values of a special parameter.
- * You can get a list of all parameters with paramList().
- */
- TQStringList parameters( const TQString& param ) const;
-
- /**
- * Returns only the first value of a special parameter.
- * You can get a list of all parameters with paramList().
- */
- TQString parameter( const TQString& param ) const;
-
- private:
- ParamMap mParamMap;
- TQString mIdentifier;
- TQVariant mValue;
-
- class VCardLinePrivate;
- VCardLinePrivate *d;
-};
-
-}
-
-#endif
diff --git a/kabc/vcardparser/vcardparser.cpp b/kabc/vcardparser/vcardparser.cpp
deleted file mode 100644
index aed9ebd39..000000000
--- a/kabc/vcardparser/vcardparser.cpp
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- This file is part of libkabc.
- Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
-
- This library 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.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include <tqregexp.h>
-#include <tqtextcodec.h>
-
-#include <kmdcodec.h>
-
-#include "vcardparser.h"
-
-#define FOLD_WIDTH 75
-
-using namespace KABC;
-
-static TQString backslash( "\\\\" );
-static TQString comma( "\\," );
-static TQString newline( "\\n" );
-static TQString cr( "\\r" );
-
-static void addEscapes( TQString &str )
-{
- str.replace( '\\', backslash );
- str.replace( ',', comma );
- str.replace( '\r', cr );
- str.replace( '\n', newline );
-}
-
-static void removeEscapes( TQString &str )
-{
- str.replace( cr, "\\r" );
- str.replace( newline, "\n" );
- str.replace( comma, "," );
- str.replace( backslash, "\\" );
-}
-
-VCardParser::VCardParser()
-{
-}
-
-VCardParser::~VCardParser()
-{
-}
-
-VCard::List VCardParser::parseVCards( const TQString& text )
-{
- static TQRegExp sep( "[\x0d\x0a]" );
-
- VCard currentVCard;
- VCard::List vCardList;
- TQString currentLine;
-
- const TQStringList lines = TQStringList::split( sep, text );
- TQStringList::ConstIterator it;
-
- bool inVCard = false;
- TQStringList::ConstIterator linesEnd( lines.end() );
- for ( it = lines.begin(); it != linesEnd; ++it ) {
-
- if ( (*it).isEmpty() ) // empty line
- continue;
-
- if ( (*it)[ 0 ] == ' ' || (*it)[ 0 ] == '\t' ) { // folded line => append to previous
- currentLine += TQString( *it ).remove( 0, 1 );
- continue;
- } else {
- if ( inVCard && !currentLine.isEmpty() ) { // now parse the line
- int colon = currentLine.find( ':' );
- if ( colon == -1 ) { // invalid line
- currentLine = (*it);
- continue;
- }
-
- VCardLine vCardLine;
- const TQString key = currentLine.left( colon ).stripWhiteSpace();
- TQString value = currentLine.mid( colon + 1 );
-
- TQStringList params = TQStringList::split( ';', key );
-
- // check for group
- if ( params[0].find( '.' ) != -1 ) {
- const TQStringList groupList = TQStringList::split( '.', params[0] );
- vCardLine.setGroup( groupList[0] );
- vCardLine.setIdentifier( groupList[1] );
- } else
- vCardLine.setIdentifier( params[0] );
-
- if ( params.count() > 1 ) { // find all parameters
- TQStringList::ConstIterator paramIt = params.begin();
- for ( ++paramIt; paramIt != params.end(); ++paramIt ) {
- TQStringList pair = TQStringList::split( '=', *paramIt );
- if ( pair.size() == 1 ) {
- // correct the 2.1 'standard'
- if ( pair[0].lower() == "quoted-printable" ) {
- pair[0] = "encoding";
- pair[1] = "quoted-printable";
- } else if ( pair[0].lower() == "base64" ) {
- pair[0] = "encoding";
- pair[1] = "base64";
- } else {
- pair.prepend( "type" );
- }
- }
- // This is pretty much a faster pair[1].contains( ',' )...
- if ( pair[1].find( ',' ) != -1 ) { // parameter in type=x,y,z format
- const TQStringList args = TQStringList::split( ',', pair[ 1 ] );
- TQStringList::ConstIterator argIt;
- for ( argIt = args.begin(); argIt != args.end(); ++argIt )
- vCardLine.addParameter( pair[0].lower(), *argIt );
- } else
- vCardLine.addParameter( pair[0].lower(), pair[1] );
- }
- }
-
- removeEscapes( value );
-
- TQByteArray output;
- bool wasBase64Encoded = false;
-
- params = vCardLine.parameterList();
- if ( params.findIndex( "encoding" ) != -1 ) { // have to decode the data
- TQByteArray input;
- input = TQCString(value.latin1());
- if ( vCardLine.parameter( "encoding" ).lower() == "b" ||
- vCardLine.parameter( "encoding" ).lower() == "base64" ) {
- KCodecs::base64Decode( input, output );
- wasBase64Encoded = true;
- }
- else if ( vCardLine.parameter( "encoding" ).lower() == "quoted-printable" ) {
- // join any qp-folded lines
- while ( value.at( value.length() - 1 ) == '=' && it != linesEnd ) {
- value = value.remove( value.length() - 1, 1 ) + (*it);
- ++it;
- }
- input = TQCString(value.latin1());
- KCodecs::quotedPrintableDecode( input, output );
- }
- } else {
- output = TQCString(value.latin1());
- }
-
- if ( params.findIndex( "charset" ) != -1 ) { // have to convert the data
- TQTextCodec *codec =
- TQTextCodec::codecForName( vCardLine.parameter( "charset" ).latin1() );
- if ( codec ) {
- vCardLine.setValue( codec->toUnicode( output ) );
- } else {
- vCardLine.setValue( TQString(TQString::fromUtf8( output )) );
- }
- } else if ( wasBase64Encoded ) {
- vCardLine.setValue( output );
- } else { // if charset not given, assume it's in UTF-8 (as used in previous KDE versions)
- vCardLine.setValue( TQString(TQString::fromUtf8( output )) );
- }
-
- currentVCard.addLine( vCardLine );
- }
-
- // we do not save the start and end tag as vcardline
- if ( (*it).lower().startsWith( "begin:vcard" ) ) {
- inVCard = true;
- currentLine.setLength( 0 );
- currentVCard.clear(); // flush vcard
- continue;
- }
-
- if ( (*it).lower().startsWith( "end:vcard" ) ) {
- inVCard = false;
- vCardList.append( currentVCard );
- currentLine.setLength( 0 );
- currentVCard.clear(); // flush vcard
- continue;
- }
-
- currentLine = (*it);
- }
- }
-
- return vCardList;
-}
-
-TQString VCardParser::createVCards( const VCard::List& list )
-{
- TQString text;
- TQString textLine;
- TQString encodingType;
- TQStringList idents;
- TQStringList params;
- TQStringList values;
- TQStringList::ConstIterator identIt;
- TQStringList::Iterator paramIt;
- TQStringList::ConstIterator valueIt;
-
- VCardLine::List lines;
- VCardLine::List::ConstIterator lineIt;
- VCard::List::ConstIterator cardIt;
-
- bool hasEncoding;
-
- text.reserve( list.size() * 300 ); // reserve memory to be more efficient
-
- // iterate over the cards
- VCard::List::ConstIterator listEnd( list.end() );
- for ( cardIt = list.begin(); cardIt != listEnd; ++cardIt ) {
- text.append( "BEGIN:VCARD\r\n" );
-
- idents = (*cardIt).identifiers();
- for ( identIt = idents.constBegin(); identIt != idents.constEnd(); ++identIt ) {
- lines = (*cardIt).lines( (*identIt) );
-
- // iterate over the lines
- for ( lineIt = lines.constBegin(); lineIt != lines.constEnd(); ++lineIt ) {
- if ( !(*lineIt).value().asString().isEmpty() ) {
- if ((*lineIt).identifier() != TQString("URI")) {
- if ( (*lineIt).hasGroup() )
- textLine = (*lineIt).group() + "." + (*lineIt).identifier();
- else
- textLine = (*lineIt).identifier();
-
- params = (*lineIt).parameterList();
- hasEncoding = false;
- if ( params.count() > 0 ) { // we have parameters
- for ( paramIt = params.begin(); paramIt != params.end(); ++paramIt ) {
- if ( (*paramIt) == "encoding" ) {
- hasEncoding = true;
- encodingType = (*lineIt).parameter( "encoding" ).lower();
- }
-
- values = (*lineIt).parameters( *paramIt );
- for ( valueIt = values.constBegin(); valueIt != values.constEnd(); ++valueIt ) {
- textLine.append( ";" + (*paramIt).upper() );
- if ( !(*valueIt).isEmpty() )
- textLine.append( "=" + (*valueIt) );
- }
- }
- }
-
- if ( hasEncoding ) { // have to encode the data
- TQByteArray input, output;
- if ( encodingType == "b" ) {
- input = (*lineIt).value().toByteArray();
- KCodecs::base64Encode( input, output );
- } else if ( encodingType == "quoted-printable" ) {
- input = (*lineIt).value().toString().utf8();
- input.resize( input.size() - 1 ); // strip \0
- KCodecs::quotedPrintableEncode( input, output, false );
- }
-
- TQString value( output );
- addEscapes( value );
- textLine.append( ":" + value );
- } else {
- TQString value( (*lineIt).value().asString() );
- addEscapes( value );
- textLine.append( ":" + value );
- }
-
- if ( textLine.length() > FOLD_WIDTH ) { // we have to fold the line
- for ( uint i = 0; i <= ( textLine.length() / FOLD_WIDTH ); ++i )
- text.append( ( i == 0 ? "" : " " ) + textLine.mid( i * FOLD_WIDTH, FOLD_WIDTH ) + "\r\n" );
- } else
- text.append( textLine + "\r\n" );
- }
- else {
- // URIs can be full of weird symbols, etc. so bypass all checks
- textLine = (*lineIt).identifier();
- TQString value( (*lineIt).value().asString() );
- addEscapes( value );
- textLine.append( ":" + value );
- text.append( textLine + "\r\n" );
- }
- }
- }
- }
-
- text.append( "END:VCARD\r\n" );
- text.append( "\r\n" );
- }
-
- return text;
-}
diff --git a/kabc/vcardparser/vcardparser.h b/kabc/vcardparser/vcardparser.h
deleted file mode 100644
index da5fdd46e..000000000
--- a/kabc/vcardparser/vcardparser.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- This file is part of libkabc.
- Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
-
- This library 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.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef VCARDPARSER_H
-#define VCARDPARSER_H
-
-#include "vcard.h"
-
-namespace KABC {
-
-class VCardParser
-{
- public:
- VCardParser();
- ~VCardParser();
-
- static VCard::List parseVCards( const TQString& text );
- static TQString createVCards( const VCard::List& list );
-
- private:
- class VCardParserPrivate;
- VCardParserPrivate *d;
-};
-
-}
-
-#endif