Тема 19 Группа 241-351
Загрузка...
Поиск...
Не найдено
network.h
См. документацию.
1#ifndef NETWORK_H
2#define NETWORK_H
3
4#include <QObject>
5#include <QTcpSocket>
6#include <QJsonDocument>
7#include <QJsonValue>
8#include <QJsonArray>
9#include <QJsonObject>
10
11class Network;
12
13
15{
16 private:
18 public:
20 delete this->pInstance;
21 }
22 void initialize(Network * p) {
23 this->pInstance = p;
24 }
25};
26
30class Network: public QObject {
31 private:
33 void initTCP();
34 static QTcpSocket* tcpInstance;
36 protected:
40 Network();
41 Network(const Network&) = delete;
46 ~Network();
47 friend class NetworkDestroyer;
48 public:
49 static Network* getInstance() {
50 if (!pInstance) {
51 pInstance = new Network();
52 destroyer.initialize(pInstance);
53 }
54 return pInstance;
55 }
56
61 QJsonObject doRequest(QVariantMap request);
62
63};
64
65#endif // NETWORK_H
Определения network.h:15
void initialize(Network *p)
Определения network.h:22
~NetworkDestroyer()
Определения network.h:19
Network * pInstance
Определения network.h:17
Синглтон-класс для работы с сетью
Определения network.h:30
Network & operator=(Network &)=delete
static Network * pInstance
Определения network.h:32
Network()
Конструктор класса, фукнция инициализации TCP-соединения.
Определения network.cpp:5
Network(const Network &)=delete
friend class NetworkDestroyer
Определения network.h:47
static NetworkDestroyer destroyer
Определения network.h:35
static QTcpSocket * tcpInstance
Определения network.h:34
~Network()
Деструктор класса Network.
Определения network.cpp:10
QJsonObject doRequest(QVariantMap request)
Фукнция выполнения JSON-запроса
Определения network.cpp:29
void initTCP()
Определения network.cpp:15
static Network * getInstance()
Определения network.h:49