diff options
author | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2019-09-27 11:41:22 +0800 |
---|---|---|
committer | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2019-09-27 11:41:22 +0800 |
commit | faad7cb0e18d3316173b1f4b67d83ffdfb7424d1 (patch) | |
tree | df9ccbc11ce8ed2d8a1a98d09cac9b66a5571276 | |
parent | 552b14eeda6fc65c6246224425a03a4bf1b31154 (diff) |
User class
only a part of the libicclient version so far
m--------- | libicclient | 10 | ||||
-rw-r--r-- | qicclient.pro | 2 | ||||
-rw-r--r-- | qicclient/user.hxx | 147 | ||||
-rw-r--r-- | user.cxx | 235 |
4 files changed, 389 insertions, 5 deletions
diff --git a/libicclient b/libicclient -Subproject 0bfbe518bf7baa28f0720b6c753b550855b495f +Subproject 8d7952b68665b0668428d65c277eb699d752383 diff --git a/qicclient.pro b/qicclient.pro index 7adb82e..371bd20 100644 --- a/qicclient.pro +++ b/qicclient.pro @@ -3,9 +3,11 @@ TEMPLATE = lib CONFIG += staticlib HEADERS += \ + qicclient/user.hxx \ qicclient/catalog.hxx \ qicclient/client.hxx SOURCES += \ + user.cxx \ catalog.cxx \ client.cxx INCLUDEPATH += $$PWD/libicclient diff --git a/qicclient/user.hxx b/qicclient/user.hxx new file mode 100644 index 0000000..b554cba --- /dev/null +++ b/qicclient/user.hxx @@ -0,0 +1,147 @@ +#ifndef QICCLIENT_USER_HXX +#define QICCLIENT_USER_HXX + +#include <QObject> +#include <icclient/member.h> + +struct icclient_user; + +namespace ICClient { + + class User : public QObject + { + Q_OBJECT + Q_PROPERTY(QString userName READ userName WRITE setUserName NOTIFY userNameChanged) + Q_PROPERTY(QString userNick READ userNick WRITE setUserNick NOTIFY userNickChanged) + Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged) + Q_PROPERTY(QString expiration READ expiration WRITE setExpiration NOTIFY expirationChanged) + Q_PROPERTY(QString acl READ acl WRITE setAcl NOTIFY aclChanged) + Q_PROPERTY(QString modTime READ modTime WRITE setModTime NOTIFY modTimeChanged) + Q_PROPERTY(QString sNickName READ sNickName WRITE setSNickName NOTIFY sNickNameChanged) + Q_PROPERTY(QString company READ company WRITE setCompany NOTIFY companyChanged) + Q_PROPERTY(QString fName READ fName WRITE setFName NOTIFY fNameChanged) + Q_PROPERTY(QString lName READ lName WRITE setLName NOTIFY lNameChanged) + Q_PROPERTY(QString address1 READ address1 WRITE setAddress1 NOTIFY address1Changed) + Q_PROPERTY(QString address2 READ address2 WRITE setAddress2 NOTIFY address2Changed) + Q_PROPERTY(QString address3 READ address3 WRITE setAddress3 NOTIFY address3Changed) + 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 phoneDay READ phoneDay WRITE setPhoneDay NOTIFY phoneDayChanged) + Q_PROPERTY(QString email READ email WRITE setEmail NOTIFY emailChanged) + + public: + explicit User(QObject* parent = nullptr) + : QObject{parent} + , m_userName{""} + , m_userNick{""} + , m_password{""} + , m_expiration{""} + , m_acl{""} + , m_modTime{""} + , m_sNickName{""} + , m_company{""} + , m_fName{""} + , m_lName{""} + , m_address1{""} + , m_address2{""} + , m_address3{""} + , m_city{""} + , m_state{""} + , m_zip{""} + , m_country{""} + , m_phoneDay{""} + , m_email{""} + {} + ~User() {} + + QString const& userName() const { return m_userName; } + QString const& userNick() const { return m_userNick; } + QString const& password() const { return m_password; } + QString const& expiration() const { return m_expiration; } + QString const& acl() const { return m_acl; } + QString const& modTime() const { return m_modTime; } + QString const& sNickName() const { return m_sNickName; } + QString const& company() const { return m_company; } + QString const& fName() const { return m_fName; } + QString const& lName() const { return m_lName; } + QString const& address1() const { return m_address1; } + QString const& address2() const { return m_address2; } + QString const& address3() const { return m_address3; } + 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& phoneDay() const { return m_phoneDay; } + QString const& email() const { return m_email; } + + void setUserName(QString const& userName); + void setUserNick(QString const& userNick); + void setPassword(QString const& password); + void setExpiration(QString const& expiration); + void setAcl(QString const& acl); + void setModTime(QString const& modTime); + void setSNickName(QString const& sNickName); + void setCompany(QString const& company); + void setFName(QString const& fName); + void setLName(QString const& lName); + void setAddress1(QString const& address1); + void setAddress2(QString const& address2); + void setAddress3(QString const& address3); + void setCity(QString const& city); + void setState(QString const& state); + void setZip(QString const& zip); + void setCountry(QString const& country); + void setPhoneDay(QString const& phoneDay); + void setEmail(QString const& email); + + public slots: + void update(icclient_user* user); + + signals: + void userNameChanged(); + void userNickChanged(); + void passwordChanged(); + void expirationChanged(); + void aclChanged(); + void modTimeChanged(); + void sNickNameChanged(); + void companyChanged(); + void fNameChanged(); + void lNameChanged(); + void address1Changed(); + void address2Changed(); + void address3Changed(); + void cityChanged(); + void stateChanged(); + void zipChanged(); + void countryChanged(); + void phoneDayChanged(); + void emailChanged(); + + private: + QString m_userName; + QString m_userNick; + QString m_password; + QString m_expiration; + QString m_acl; + QString m_modTime; + QString m_sNickName; + QString m_company; + QString m_fName; + QString m_lName; + QString m_address1; + QString m_address2; + QString m_address3; + QString m_city; + QString m_state; + QString m_zip; + QString m_country; + QString m_phoneDay; + QString m_email; + }; + +} + +#endif // QICCLIENT_USER_HXX diff --git a/user.cxx b/user.cxx new file mode 100644 index 0000000..2834744 --- /dev/null +++ b/user.cxx @@ -0,0 +1,235 @@ +#include <cstddef> +#include <icclient/client.h> +#include "qicclient/user.hxx" + +namespace ICClient { + + void User::setUserName(QString const& UserName) + { + if (m_userName != UserName) { + m_userName = UserName; + emit userNameChanged(); + } + } + + void User::setUserNick(QString const& UserNick) + { + if (m_userNick != UserNick) { + m_userNick = UserNick; + emit userNickChanged(); + } + } + + void User::setPassword(QString const& password) + { + if (m_password != password) { + m_password = password; + emit passwordChanged(); + } + } + + void User::setExpiration(QString const& expiration) + { + if (m_expiration != expiration) { + m_expiration = expiration; + emit expirationChanged(); + } + } + + void User::setAcl(QString const& acl) + { + if (m_acl != acl) { + m_acl = acl; + emit aclChanged(); + } + } + + void User::setModTime(QString const& modTime) + { + if (m_modTime != modTime) { + m_modTime = modTime; + emit modTimeChanged(); + } + } + + void User::setSNickName(QString const& sNickName) + { + if (m_sNickName != sNickName) { + m_sNickName = sNickName; + emit sNickNameChanged(); + } + } + + void User::setCompany(QString const& company) + { + if (m_company != company) { + m_company = company; + emit companyChanged(); + } + } + + void User::setFName(QString const& fName) + { + if (m_fName != fName) { + m_fName = fName; + emit fNameChanged(); + } + } + + void User::setLName(QString const& lName) + { + if (m_lName != lName) { + m_lName = lName; + emit lNameChanged(); + } + } + + void User::setAddress1(QString const& address1) + { + if (m_address1 != address1) { + m_address1 = address1; + emit address1Changed(); + } + } + + void User::setAddress2(QString const& address2) + { + if (m_address2 != address2) { + m_address2 = address2; + emit address2Changed(); + } + } + + void User::setAddress3(QString const& address3) + { + if (m_address3 != address3) { + m_address3 = address3; + emit address3Changed(); + } + } + + void User::setCity(QString const& city) + { + if (m_city != city) { + m_city = city; + emit cityChanged(); + } + } + + void User::setState(QString const& state) + { + if (m_state != state) { + m_state = state; + emit stateChanged(); + } + } + + void User::setZip(QString const& zip) + { + if (m_zip != zip) { + m_zip = zip; + emit zipChanged(); + } + } + + void User::setCountry(QString const& country) + { + if (m_country != country) { + m_country = country; + emit countryChanged(); + } + } + + void User::setPhoneDay(QString const& phoneDay) + { + if (m_phoneDay != phoneDay) { + m_phoneDay = phoneDay; + emit phoneDayChanged(); + } + } + + void User::setEmail(QString const& email) + { + if (m_email != email) { + m_email = email; + emit emailChanged(); + } + } + + void User::update(icclient_user* user) + { + if (user->username) + m_userName = user->username; + else + m_userName = ""; + if (user->usernick) + m_userNick = user->usernick; + else + m_userNick = ""; + if (user->fname) + m_fName = user->fname; + else + m_fName = ""; + if (user->lname) + m_lName = user->lname; + else + m_lName = ""; + if (user->address1) + m_address1 = user->address1; + else + m_address1 = ""; + if (user->address2) + m_address2 = user->address2; + else + m_address2 = ""; + if (user->address3) + m_address3 = user->address3; + else + m_address3 = ""; + if (user->city) + m_city = user->city; + else + m_city = ""; + if (user->state) + m_state = user->state; + else + m_state = ""; + if (user->zip) + m_zip = user->zip; + else + m_zip = ""; + if (user->country) + m_country = user->country; + else + m_country = ""; + if (user->phone_day) + m_phoneDay = user->phone_day; + else + m_phoneDay = ""; + if (user->email) + m_email = user->email; + else + m_email = ""; + + emit userNameChanged(); + emit userNickChanged(); + emit passwordChanged(); + emit expirationChanged(); + emit aclChanged(); + emit modTimeChanged(); + emit sNickNameChanged(); + emit companyChanged(); + emit fNameChanged(); + emit lNameChanged(); + emit address1Changed(); + emit address2Changed(); + emit address3Changed(); + emit cityChanged(); + emit stateChanged(); + emit zipChanged(); + emit countryChanged(); + emit phoneDayChanged(); + emit emailChanged(); + } + +} |