KCalCore Library
person.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00031 #ifndef KCALCORE_PERSON_H
00032 #define KCALCORE_PERSON_H
00033
00034 #include "kcalcore_export.h"
00035
00036 #include <QtCore/QString>
00037 #include <QtCore/QHash>
00038 #include <QtCore/QMetaType>
00039 #include <QtCore/QSharedPointer>
00040
00041 namespace KCalCore {
00042
00050 class KCALCORE_EXPORT Person
00051 {
00052 public:
00056 typedef QSharedPointer<Person> Ptr;
00057
00061 typedef QVector<Ptr> List;
00062
00066 Person();
00067
00074 static Person::Ptr fromFullName( const QString &fullName );
00075
00082 Person( const QString &name, const QString &email );
00083
00089 Person( const Person &person );
00090
00094 virtual ~Person();
00095
00099 bool isEmpty() const;
00100
00104 QString fullName( ) const;
00105
00113 void setName( const QString &name );
00114
00120 QString name() const;
00121
00129 void setEmail( const QString &email );
00130
00136 QString email() const;
00137
00149 static bool isValidEmail( const QString &email );
00150
00161 void setCount( int count );
00162
00168 int count() const;
00169
00175 bool operator==( const Person &person ) const;
00176
00182 bool operator!=( const Person &person ) const;
00183
00189 Person &operator=( const Person &person );
00190
00191 private:
00192
00193 class Private;
00194 Private *const d;
00195
00196
00197 friend KCALCORE_EXPORT QDataStream &operator<<( QDataStream &s,
00198 const KCalCore::Person::Ptr &person );
00199 friend KCALCORE_EXPORT QDataStream &operator>>( QDataStream &s,
00200 KCalCore::Person::Ptr &person );
00201 };
00202
00206 KCALCORE_EXPORT QDataStream &operator<<( QDataStream &stream, const KCalCore::Person::Ptr &person );
00207
00211 KCALCORE_EXPORT QDataStream &operator>>( QDataStream &stream, KCalCore::Person::Ptr &person );
00212
00213 }
00214
00215 Q_DECLARE_TYPEINFO( KCalCore::Person::Ptr, Q_MOVABLE_TYPE );
00216
00221 KCALCORE_EXPORT uint qHash( const KCalCore::Person &key );
00222
00223
00224 Q_DECLARE_METATYPE( KCalCore::Person::Ptr )
00225
00226
00227 #endif