• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.14.10 API Reference
  • KDE Home
  • Contact Us
 

kabc

  • kabc
  • vcardparser
vcard.cpp
1/*
2 This file is part of libkabc.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19*/
20
21#include "vcard.h"
22
23using namespace KABC;
24
25VCard::VCard()
26{
27}
28
29VCard::VCard( const VCard &vcard )
30{
31 mLineMap = vcard.mLineMap;
32}
33
34VCard::~VCard()
35{
36}
37
38VCard &VCard::operator=( const VCard &vcard )
39{
40 if ( &vcard == this ) {
41 return *this;
42 }
43
44 mLineMap = vcard.mLineMap;
45
46 return *this;
47}
48
49void VCard::clear()
50{
51 mLineMap.clear();
52}
53
54QStringList VCard::identifiers() const
55{
56 return mLineMap.keys();
57}
58
59void VCard::addLine( const VCardLine &line )
60{
61 mLineMap[ line.identifier() ].append( line );
62}
63
64VCardLine::List VCard::lines( const QString &identifier ) const
65{
66 LineMap::ConstIterator it = mLineMap.find( identifier );
67 if ( it == mLineMap.end() ) {
68 return VCardLine::List();
69 }
70
71 return *it;
72}
73
74VCardLine VCard::line( const QString &identifier ) const
75{
76 LineMap::ConstIterator it = mLineMap.find( identifier );
77 if ( it == mLineMap.end() ) {
78 return VCardLine();
79 }
80
81 if ( ( *it ).isEmpty() ) {
82 return VCardLine();
83 } else {
84 return ( *it ).first();
85 }
86}
87
88void VCard::setVersion( Version version )
89{
90 mLineMap.remove( QLatin1String( "VERSION" ) );
91
92 VCardLine line;
93 line.setIdentifier( QLatin1String( "VERSION" ) );
94 if ( version == v2_1 ) {
95 line.setIdentifier( QLatin1String( "2.1" ) );
96 } else if ( version == v3_0 ) {
97 line.setIdentifier( QLatin1String( "3.0" ) );
98 } else if ( version == v4_0 ) {
99 line.setIdentifier( QLatin1String( "4.0" ) );
100 }
101
102 mLineMap[ QLatin1String( "VERSION" ) ].append( line );
103}
104
105VCard::Version VCard::version() const
106{
107 LineMap::ConstIterator versionEntry = mLineMap.find( QLatin1String( "VERSION" ) );
108 if ( versionEntry == mLineMap.end() ) {
109 return v3_0;
110 }
111
112 VCardLine line = ( *versionEntry )[ 0 ];
113 if ( line.value() == QLatin1String( "2.1" ) ) {
114 return v2_1;
115 } else if ( line.value() == QLatin1String( "3.0" ) ) {
116 return v3_0;
117 } else {
118 return v4_0;
119 }
120}
KABC
Class that holds a Calendar Url (FBURL/CALADRURI/CALURI)
Definition address.h:29
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Wed Jan 24 2024 00:00:00 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kabc

Skip menu "kabc"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Related Pages

kdepimlibs-4.14.10 API Reference

Skip menu "kdepimlibs-4.14.10 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal