summaryrefslogtreecommitdiff
path: root/qicclient
diff options
context:
space:
mode:
Diffstat (limited to 'qicclient')
-rw-r--r--qicclient/admin.hxx68
1 files changed, 68 insertions, 0 deletions
diff --git a/qicclient/admin.hxx b/qicclient/admin.hxx
new file mode 100644
index 0000000..1e728cb
--- /dev/null
+++ b/qicclient/admin.hxx
@@ -0,0 +1,68 @@
+#ifndef QICCLIENT_ADMIN_HXX
+#define QICCLIENT_ADMIN_HXX
+
+#include <QObject>
+#include <icclient/admin.h>
+
+struct icclient_admin;
+
+namespace QICClient {
+
+ class Admin : public QObject
+ {
+ Q_OBJECT
+ Q_PROPERTY(QString userName READ userName WRITE setUserName NOTIFY userNameChanged)
+ Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged)
+ Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
+ Q_PROPERTY(bool super READ super WRITE setSuper NOTIFY superChanged)
+
+ public:
+ explicit Admin(QObject* parent = nullptr) :
+ QObject{parent},
+ m_userName{""},
+ m_password{""},
+ m_name{""},
+ m_super{false}
+ {}
+ ~Admin() {}
+
+ QString const& userName() const { return m_userName; }
+ QString const& password() const { return m_password; }
+ QString const& name() const { return m_name; }
+ bool super() { return m_super; }
+
+ void setUserName(QString const& userName);
+ void setPassword(QString const& password);
+ void setName(QString const& name);
+ void setSuper(bool super);
+
+ void logIn(QString const& username, QString const& password,
+ QString const& successPage = nullptr,
+ QString const& nextPage = nullptr,
+ QString const& failPage = nullptr,
+ size_t (*handler)(void*, size_t, size_t,
+ void*) = nullptr);
+
+ public slots:
+ void newItem(QString const& description, QString const& comment,
+ QString const& price, QString const& imagePath);
+ void logOut();
+
+ signals:
+ void userNameChanged();
+ void passwordChanged();
+ void nameChanged();
+ void superChanged();
+
+ private:
+ QString m_userName;
+ QString m_password;
+ QString m_name;
+ bool m_super;
+ icclient_admin* m_data;
+ void setData(icclient_admin* data);
+ };
+
+}
+
+#endif // QICCLIENT_ADMIN_HXX