1
0
mirror of https://github.com/KDE/krfb synced 2026-07-01 07:41:17 -07:00
Files
krfb/krfb/rfbservermanager.h
Nicolas Fella f5df4d7603 Add and make use of ECM clang-format integration
This formats the code according to the KDE coding style and ensures it stays that way
2024-08-08 13:16:41 +02:00

60 lines
1.4 KiB
C++

/*
SPDX-FileCopyrightText: 2009-2010 Collabora Ltd <info@collabora.co.uk>
SPDX-FileContributor: George Goldberg <george.goldberg@collabora.co.uk>
SPDX-FileContributor: George Kiagiadakis <george.kiagiadakis@collabora.co.uk>
SPDX-FileCopyrightText: 2007 Alessandro Praduroux <pradu@pradu.it>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef RFBSERVERMANAGER_H
#define RFBSERVERMANAGER_H
#include "framebuffer.h"
#include "rfb.h"
#include <QObject>
#include <QVariantMap>
class RfbClient;
struct RfbServerManagerStatic;
class RfbServer;
class RfbServerManager : public QObject
{
Q_OBJECT
public:
static RfbServerManager *instance();
QSharedPointer<FrameBuffer> framebuffer() const;
static QVariantMap s_pluginArgs;
Q_SIGNALS:
void clientConnected(RfbClient *cc);
void clientDisconnected(RfbClient *cc);
private Q_SLOTS:
void init();
void updateFrameBuffer();
void updateScreens();
void cleanup();
private:
void registerServer(RfbServer *server);
void unregisterServer(RfbServer *server);
rfbScreenInfoPtr newScreen();
void addClient(RfbClient *cc);
void removeClient(RfbClient *cc);
RfbServerManager();
~RfbServerManager() override;
Q_DISABLE_COPY(RfbServerManager)
friend class RfbServer;
friend struct RfbServerManagerStatic;
struct Private;
Private *const d;
};
#endif // RFBSERVERMANAGER_H