QAlphaCloud  0.0.1
Qt bindings for Alpha Cloud
connector.h
1 /*
2  * SPDX-FileCopyrightText: 2023 Kai Uwe Broulik <ghqalpha@broulik.de>
3  * SPDX-License-Identifier: LGPL-2.1-or-later
4  */
5 
6 #pragma once
7 
8 #include <QObject>
9 #include <QString>
10 #include <QUrl>
11 
12 #include <memory>
13 
14 #include "configuration.h"
15 #include "qalphacloud.h"
16 
17 #include "qalphacloud_export.h"
18 
19 class QNetworkAccessManager;
20 
21 namespace QAlphaCloud
22 {
23 
24 class ConnectorPrivate;
25 
38 class QALPHACLOUD_EXPORT Connector : public QObject
39 {
40  Q_OBJECT
41 
45  Q_PROPERTY(QAlphaCloud::Configuration *configuration READ configuration WRITE setConfiguration NOTIFY configurationChanged)
46 
47 
52  Q_PROPERTY(bool valid READ valid NOTIFY validChanged)
53 
54 public:
55  explicit Connector(QObject *parent = nullptr);
56  explicit Connector(Configuration *configuration, QObject *parent = nullptr);
57  ~Connector() override;
58 
59  Q_REQUIRED_RESULT Configuration *configuration() const;
60  void setConfiguration(Configuration *configuration);
61  Q_SIGNAL void configurationChanged(QAlphaCloud::Configuration *configuration);
62 
63  Q_REQUIRED_RESULT bool valid() const;
64  Q_SIGNAL void validChanged(bool valid);
65 
66  Q_REQUIRED_RESULT QNetworkAccessManager *networkAccessManager() const;
77  void setNetworkAccessManager(QNetworkAccessManager *networkAccessManager);
78 
79 private:
80  std::unique_ptr<ConnectorPrivate> const d;
81 };
82 
83 } // namespace QAlphaCloud
API configuration.
Definition: configuration.h:41
API Connection.
Definition: connector.h:39
Utility namespace.
Definition: apirequest.cpp:24