kabc
distributionlist.h
00001 /* 00002 This file is part of libkabc. 00003 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 Boston, MA 02110-1301, USA. 00019 */ 00020 00021 #ifndef KABC_DISTRIBUTIONLIST_H 00022 #define KABC_DISTRIBUTIONLIST_H 00023 00024 #include "kabc_export.h" 00025 #ifndef KDEPIM_NO_KRESOURCES 00026 #include "addressbook.h" 00027 #else 00028 #include "addressee.h" 00029 #include <QtCore/QMap> 00030 #endif 00031 #include <QtCore/QList> 00032 00033 namespace KABC { 00034 00035 //class DistributionListManager; 00036 class Resource; 00037 00045 class KABC_EXPORT_DEPRECATED DistributionList 00046 { 00047 public: 00055 class KABC_EXPORT Entry 00056 { 00057 public: 00061 typedef QList<Entry> List; 00062 00066 Entry(); 00067 00073 Entry( const Entry &other ); 00074 00082 Entry( const Addressee &addressee, const QString &email ); 00083 00087 ~Entry(); 00088 00094 Entry &operator=( const Entry &other ); 00095 00099 Addressee addressee() const; 00100 00106 QString email() const; 00107 00108 private: 00109 class Private; 00110 Private *const d; 00111 }; 00112 00119 DistributionList( Resource *resource, const QString &name ); 00120 00128 DistributionList( Resource *resource, const QString &identifier, 00129 const QString &name ); 00130 00134 ~DistributionList(); 00135 00141 void setIdentifier( const QString &identifier ); 00142 00146 QString identifier() const; 00147 00153 void setName( const QString & ); 00154 00158 QString name() const; 00159 00169 void insertEntry( const Addressee &, const QString &email=QString() ); 00170 00179 void removeEntry( const Addressee &, const QString &email=QString() ); 00180 00185 QStringList emails() const; 00186 00191 Entry::List entries() const; 00192 00193 Resource *resource() const; 00194 00195 private: 00196 class Private; 00197 Private *const d; 00198 00199 Q_DISABLE_COPY( DistributionList ) 00200 }; 00201 00205 typedef QMap<QString, DistributionList*> DistributionListMap; 00206 00207 } 00208 #endif