]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - liblightdm-qt/ldmuser.cpp
Renamed libldmgreeter to liblightdm
[sojka/lightdm.git] / liblightdm-qt / ldmuser.cpp
1 #include "ldmuser.h"
2
3 class LdmUserPrivate
4 {
5 public:
6     QString name;
7     QString realName;
8     QString image;
9     bool isLoggedIn;
10 };
11
12 LdmUser::LdmUser():
13     d(new LdmUserPrivate)
14 {
15 }
16
17 LdmUser::LdmUser(const QString& name, const QString& realName, const QString& image, const bool loggedIn) :
18     d(new LdmUserPrivate)
19 {
20     d->name = name;
21     d->realName = realName;
22     d->image = image;
23     d->isLoggedIn = loggedIn;
24 }
25
26 LdmUser::LdmUser(const LdmUser &other)
27     :d(new LdmUserPrivate(*other.d))
28 {
29 }
30
31 LdmUser::~LdmUser()
32 {
33     delete d;
34 }
35
36
37 LdmUser& LdmUser::operator=(const LdmUser& other)
38 {
39     *d = *other.d;
40     return *this;
41 }
42
43 QString LdmUser::displayName() const
44 {
45     if (!d->realName.isEmpty())
46     {
47         return d->realName;
48     }
49     else
50     {
51         return d->name;
52     }
53 }
54
55 QString LdmUser::name() const
56 {
57     return d->name;
58 }
59
60 QString LdmUser::realName() const
61 {
62     return d->realName;
63 }
64
65 QString LdmUser::image() const
66 {
67     return d->image;
68 }
69
70 bool LdmUser::isLoggedIn() const
71 {
72     return d->isLoggedIn;
73 }
74
75
76 //don't actually need this I never send an LdmUser across DBUS...
77 QDBusArgument &operator<<(QDBusArgument &argument, const LdmUser &user)
78 {
79     argument.beginStructure();
80     argument << user.name() << user.realName() << user.image() << user.isLoggedIn();
81     argument.endStructure();
82     return argument;
83 }
84
85 const QDBusArgument &operator>>(const QDBusArgument &argument, LdmUser &user)
86 {
87     QString name;
88     QString realName;
89     QString image;
90     bool loggedIn;
91
92     argument.beginStructure();
93     argument >> name >> realName >> image >> loggedIn;
94     argument.endStructure();
95
96     user  = LdmUser(name, realName, image, loggedIn);
97
98     return argument;
99 }
100