Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
ClientConnection.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2021 Symless Ltd.
4 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
5 */
6
7#pragma once
8
9#include "gui/Messages.h"
10
11#include <QObject>
12#include <QString>
13#include <QWidget>
14#include <memory>
15
16class QWidget;
17
18namespace deskflow::gui {
19
20class ClientConnection : public QObject
21{
22 Q_OBJECT
23
24public:
25 struct Deps
26 {
27 virtual ~Deps() = default;
28 virtual void showError(QWidget *parent, messages::ClientError error, const QString &address) const;
29 };
30
31 explicit ClientConnection(QWidget *parent, std::shared_ptr<Deps> deps = std::make_shared<Deps>())
32 : m_pParent(parent),
33 m_deps(deps)
34 {
35 // do nothing
36 }
37
38 void handleLogLine(const QString &line);
40 {
41 m_showMessage = true;
42 }
43
44Q_SIGNALS:
46
47private:
48 void showMessage(const QString &logLine);
49
50 QWidget *m_pParent;
51 std::shared_ptr<Deps> m_deps;
52 bool m_showMessage = true;
53};
54
55} // namespace deskflow::gui
ClientConnection(QWidget *parent, std::shared_ptr< Deps > deps=std::make_shared< Deps >())
Definition ClientConnection.h:31
void setShowMessage()
Definition ClientConnection.h:39
void handleLogLine(const QString &line)
Definition ClientConnection.cpp:30
ClientError
Definition Messages.h:17
Definition IServerConfig.h:14
Definition ClientConnection.h:26
virtual void showError(QWidget *parent, messages::ClientError error, const QString &address) const
Definition ClientConnection.cpp:21