libqutim 0.2.80.1
|
00001 /**************************************************************************** 00002 ** 00003 ** qutIM - instant messenger 00004 ** 00005 ** Copyright © 2011 Ruslan Nigmatullin <euroelessar@yandex.ru> 00006 ** 00007 ***************************************************************************** 00008 ** 00009 ** $QUTIM_BEGIN_LICENSE$ 00010 ** This program is free software: you can redistribute it and/or modify 00011 ** it under the terms of the GNU General Public License as published by 00012 ** the Free Software Foundation, either version 3 of the License, or 00013 ** (at your option) any later version. 00014 ** 00015 ** This program is distributed in the hope that it will be useful, 00016 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00018 ** See the GNU General Public License for more details. 00019 ** 00020 ** You should have received a copy of the GNU General Public License 00021 ** along with this program. If not, see http://www.gnu.org/licenses/. 00022 ** $QUTIM_END_LICENSE$ 00023 ** 00024 ****************************************************************************/ 00025 00026 #ifndef PERSONINFO_H 00027 #define PERSONINFO_H 00028 00029 #include "libqutim_global.h" 00030 #include "localizedstring.h" 00031 #include <QSharedDataPointer> 00032 #include <QMetaType> 00033 00034 namespace qutim_sdk_0_3 00035 { 00036 class PersonInfoData; 00037 00051 class LIBQUTIM_EXPORT PersonInfo 00052 { 00053 public: 00062 PersonInfo(const LocalizedString &name = LocalizedString(), 00063 const LocalizedString &task = LocalizedString(), 00064 const QString &email = QString(), const QString &web = QString()); 00070 PersonInfo(const QString &ocsUsername); 00074 PersonInfo(const PersonInfo &other); 00075 PersonInfo(const QSharedDataPointer<PersonInfoData> &p); 00079 ~PersonInfo(); 00085 PersonInfo &operator =(const PersonInfo &other); 00091 PersonInfo &setName(const LocalizedString &name); 00097 PersonInfo &setTask(const LocalizedString &task); 00103 PersonInfo &setEmail(const QString &email); 00109 PersonInfo &setWeb(const QString &web); 00115 LocalizedString name() const; 00121 LocalizedString task() const; 00127 QString email() const; 00133 QString web() const; 00134 QString ocsUsername() const; 00135 00136 static QList<PersonInfo> authors(); 00137 static QList<PersonInfo> translators(); 00138 #ifndef Q_QDOC 00139 private: 00140 QSharedDataPointer<PersonInfoData> d; 00141 public: 00142 typedef PersonInfoData Data; 00143 Data *data(); 00144 #endif 00145 }; 00146 } 00147 00148 Q_DECLARE_METATYPE(qutim_sdk_0_3::PersonInfo) 00149 00150 #endif // PERSONINFO_H 00151