summaryrefslogtreecommitdiff
path: root/user.hxx
blob: a87085217922c347cbee8663e705c3ee5c8a6e63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
#ifndef USER_HXX
#define USER_HXX

#include <QObject>

class User : public QObject
{
	Q_OBJECT
	Q_PROPERTY(QString id READ id WRITE setId NOTIFY idChanged)
	Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
	Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged)
	Q_PROPERTY(QString emailAddress READ emailAddress WRITE setEmailAddress NOTIFY emailAddressChanged)
	Q_PROPERTY(QString realName READ realName WRITE setRealName NOTIFY realNameChanged)
	Q_PROPERTY(QString nickName READ nickName WRITE setNickName NOTIFY nickNameChanged)
	Q_PROPERTY(QString organization READ organization WRITE setOrganization NOTIFY organizationChanged)
	Q_PROPERTY(QString address1 READ address1 WRITE setAddress1 NOTIFY address1Changed)
	Q_PROPERTY(QString address2 READ address2 WRITE setAddress2 NOTIFY address2Changed)
	Q_PROPERTY(QString city READ city WRITE setCity NOTIFY cityChanged)
	Q_PROPERTY(QString state READ state WRITE setState NOTIFY stateChanged)
	Q_PROPERTY(QString zip READ zip WRITE setZip NOTIFY zipChanged)
	Q_PROPERTY(QString country READ country WRITE setCountry NOTIFY countryChanged)
	Q_PROPERTY(QString homePhone READ homePhone WRITE setHomePhone NOTIFY homePhoneChanged)
	Q_PROPERTY(QString workPhone READ workPhone WRITE setWorkPhone NOTIFY workPhoneChanged)
	Q_PROPERTY(QString mobilePhone READ mobilePhone WRITE setMobilePhone NOTIFY mobilePhoneChanged)
	Q_PROPERTY(QString pagerPhone READ pagerPhone WRITE setPagerPhone NOTIFY pagerPhoneChanged)
	Q_PROPERTY(QString lang READ lang WRITE setLang NOTIFY langChanged)
	Q_PROPERTY(bool privileged READ privileged WRITE setPrivileged NOTIFY privilegedChanged)
	Q_PROPERTY(bool disabled READ disabled WRITE setDisabled NOTIFY disabledChanged)
	Q_PROPERTY(bool loggedIn READ loggedIn WRITE setLoggedIn NOTIFY loggedInChanged)

	public:
		explicit User(QObject* parent = nullptr)
			: QObject{parent}
			, m_id{""}
			, m_name{""}
			, m_password{""}
			, m_emailAddress{""}
			, m_realName{""}
			, m_nickName{""}
			, m_organization{""}
			, m_gecos{""}
			, m_address1{""}
			, m_address2{""}
			, m_city{""}
			, m_state{""}
			, m_zip{""}
			, m_country{""}
			, m_homePhone{""}
			, m_workPhone{""}
			, m_mobilePhone{""}
			, m_pagerPhone{""}
			, m_contactInfo{""}
			, m_comments{""}
			, m_lang{""}
			, m_privileged{false}
			, m_disabled{true}
			, m_loggedIn{false}
			{}
		~User() {}
		inline static int typeId;

		QString const& id() const { return m_id; }
		QString const& name() const { return m_name; }
		QString const& password() const { return m_password; }
		QString const& emailAddress() const { return m_emailAddress; }
		QString const& realName() const { return m_realName; }
		QString const& nickName() const { return m_nickName; }
		QString const& organization() const { return m_organization; }
		QString const& address1() const { return m_address1; }
		QString const& address2() const { return m_address2; }
		QString const& city() const { return m_city; }
		QString const& state() const { return m_state; }
		QString const& zip() const { return m_zip; }
		QString const& country() const { return m_country; }
		QString const& homePhone() const { return m_homePhone; }
		QString const& workPhone() const { return m_workPhone; }
		QString const& mobilePhone() const { return m_mobilePhone; }
		QString const& pagerPhone() const { return m_pagerPhone; }
		QString const& lang() const { return m_lang; }
		bool privileged() const { return m_privileged; }
		bool disabled() const { return m_disabled; }
		bool loggedIn() const { return m_loggedIn; }

		void setId(QString const& id);
		void setName(QString const& name);
		void setPassword(QString const& password);
		void setEmailAddress(QString const& emailAddress);
		void setRealName(QString const& realName);
		void setNickName(QString const& nickName);
		void setOrganization(QString const& organization);
		void setAddress1(QString const& address1);
		void setAddress2(QString const& address2);
		void setCity(QString const& city);
		void setState(QString const& state);
		void setZip(QString const& zip);
		void setCountry(QString const& country);
		void setHomePhone(QString const& homePhone);
		void setWorkPhone(QString const& workPhone);
		void setMobilePhone(QString const& mobilePhone);
		void setPagerPhone(QString const& pagerPhone);
		void setLang(QString const& lang);
		void setPrivileged(bool privileged);
		void setDisabled(bool disabled);
		void setLoggedIn(bool loggedIn);

	signals:
		void idChanged();
		void nameChanged();
		void passwordChanged();
		void emailAddressChanged();
		void realNameChanged();
		void nickNameChanged();
		void organizationChanged();
		void gecosChanged();
		void address1Changed();
		void address2Changed();
		void cityChanged();
		void stateChanged();
		void zipChanged();
		void countryChanged();
		void homePhoneChanged();
		void workPhoneChanged();
		void mobilePhoneChanged();
		void pagerPhoneChanged();
		void langChanged();
		void privilegedChanged();
		void disabledChanged();
		void loggedInChanged();

	private slots:
		void update(struct rt_user* user);

	private:
		QString m_id;
		QString m_name;
		QString m_password;
		QString m_emailAddress;
		QString m_realName;
		QString m_nickName;
		QString m_organization;
		QString m_gecos;
		QString m_address1;
		QString m_address2;
		QString m_city;
		QString m_state;
		QString m_zip;
		QString m_country;
		QString m_homePhone;
		QString m_workPhone;
		QString m_mobilePhone;
		QString m_pagerPhone;
		QString m_contactInfo;
		QString m_comments;
		QString m_lang;
		bool m_privileged;
		bool m_disabled;
		bool m_loggedIn;
};

#endif // USER_HXX