libqutim  0.3.1.0
personinfo.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** qutIM - instant messenger
4 **
5 ** Copyright © 2011 Ruslan Nigmatullin <euroelessar@yandex.ru>
6 **
7 *****************************************************************************
8 **
9 ** $QUTIM_BEGIN_LICENSE$
10 ** This program is free software: you can redistribute it and/or modify
11 ** it under the terms of the GNU General Public License as published by
12 ** the Free Software Foundation, either version 3 of the License, or
13 ** (at your option) any later version.
14 **
15 ** This program is distributed in the hope that it will be useful,
16 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 ** See the GNU General Public License for more details.
19 **
20 ** You should have received a copy of the GNU General Public License
21 ** along with this program. If not, see http://www.gnu.org/licenses/.
22 ** $QUTIM_END_LICENSE$
23 **
24 ****************************************************************************/
25 
26 #ifndef PERSONINFO_H
27 #define PERSONINFO_H
28 
29 #include "libqutim_global.h"
30 #include "localizedstring.h"
31 #include <QSharedDataPointer>
32 #include <QMetaType>
33 
34 namespace qutim_sdk_0_3
35 {
36  class PersonInfoData;
37 
52  {
53  public:
63  const LocalizedString &task = LocalizedString(),
64  const QString &email = QString(), const QString &web = QString());
70  PersonInfo(const QString &ocsUsername);
74  PersonInfo(const PersonInfo &other);
75  PersonInfo(const QSharedDataPointer<PersonInfoData> &p);
79  ~PersonInfo();
85  PersonInfo &operator =(const PersonInfo &other);
91  PersonInfo &setName(const LocalizedString &name);
97  PersonInfo &setTask(const LocalizedString &task);
103  PersonInfo &setEmail(const QString &email);
109  PersonInfo &setWeb(const QString &web);
115  LocalizedString name() const;
121  LocalizedString task() const;
127  QString email() const;
133  QString web() const;
134  QString ocsUsername() const;
135 
136  static QList<PersonInfo> authors();
137  static QList<PersonInfo> translators();
138 #ifndef Q_QDOC
139  private:
140  QSharedDataPointer<PersonInfoData> d;
141  public:
142  typedef PersonInfoData Data;
143  Data *data();
144 #endif
145  };
146 }
147 
149 
150 #endif // PERSONINFO_H
151 

Generated by Doxygen