diff options
| author | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2020-07-19 09:24:10 +0800 |
|---|---|---|
| committer | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2020-07-19 09:24:10 +0800 |
| commit | 8f1ef80a59642e8051f588e2dde41176a8495cb3 (patch) | |
| tree | 1449fcf82051a6adf82f4b07fd02a59617468b91 /admin.cxx | |
| parent | a385d4f20c81b190ac2556c9d57eaccd79f98cd5 (diff) | |
Admin class
Diffstat (limited to 'admin.cxx')
| -rw-r--r-- | admin.cxx | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/admin.cxx b/admin.cxx new file mode 100644 index 0000000..b01fc2e --- /dev/null +++ b/admin.cxx @@ -0,0 +1,90 @@ +#include <cstddef> +#include <icclient/admin.h> +#include "qicclient/admin.hxx" + +namespace QICClient { + + void Admin::setUserName(QString const& userName) + { + if (m_userName != userName) { + m_userName = userName; + emit userNameChanged(); + } + } + + void Admin::setPassword(QString const& password) + { + if (m_password != password) { + m_password = password; + emit passwordChanged(); + } + } + + void Admin::setName(QString const& name) + { + if (m_name != name) { + m_name = name; + emit nameChanged(); + } + } + + void Admin::setSuper(bool super) + { + if (m_super != super) { + m_super = super; + emit superChanged(); + } + } + + void Admin::setData(icclient_admin* data) + { + if (data && data->username && m_userName != data->username) { + m_userName = QString{data->username}; + emit userNameChanged(); + } else setUserName(""); + + if (data && data->password && m_password != data->password) { + m_password = QString{data->password}; + emit passwordChanged(); + } else setPassword(""); + + if (data && data->name && m_name != data->name) { + m_name = QString{data->name}; + emit nameChanged(); + } else setName(""); + + if (data) setSuper(data->super); + else setSuper(""); + + if (m_data != data) m_data = data; + } + + void Admin::logIn(QString const& username, QString const& password, + QString const& successPage, QString const& nextPage, + QString const& failPage, + size_t (*handler)(void*, size_t, size_t, void*)) + { + setData(icclient_admin_login(username.toLatin1().constData(), + password.toLatin1().constData(), + successPage.toLatin1().constData(), + nextPage.toLatin1().constData(), + failPage.toLatin1().constData(), + handler)); + } + + void Admin::newItem(QString const& description, QString const& comment, + QString const& price, QString const& imagePath) + { + icclient_admin_newitem(description.toLatin1().constData(), + comment.toLatin1().constData(), + price.toLatin1().constData(), + imagePath.toLatin1().constData()); + } + + void Admin::logOut() + { + icclient_admin_logout(m_data); + setData(nullptr); + } + +} |