From 11787ea278bc6ff6d5bc797b597df3f26e2ec9b4 Mon Sep 17 00:00:00 2001 From: Daniel Teichmann Date: Tue, 6 Jul 2021 19:55:13 +0200 Subject: Introduce DBusAPI and RWAHost classes --- src/session.h | 57 +++++++++++++++++++++++---------------------------------- 1 file changed, 23 insertions(+), 34 deletions(-) (limited to 'src/session.h') diff --git a/src/session.h b/src/session.h index 1b8b2d6..2c534f4 100644 --- a/src/session.h +++ b/src/session.h @@ -24,26 +24,24 @@ * along with this program. If not, see . */ -#pragma once +#ifndef SESSION_H +#define SESSION_H #include #include #include #include #include -#include -#include "RWADBusAdaptor.h" #include "main_qmladaptor.h" +#include "RWAHost.h" +#include "DBusAPI.h" class Session : public QObject { Q_OBJECT - Q_PROPERTY(QString host_id READ getHostID NOTIFY hostIDChanged) // this makes status available as a QML property Q_PROPERTY(QString status READ getStatus NOTIFY statusChanged) - // this makes service id available as a QML property - Q_PROPERTY(QString id READ getID NOTIFY idChanged) // this makes session_id available as a QML property Q_PROPERTY(QString session_id READ getSessionID NOTIFY sessionIDChanged) // this makes url available as a QML property @@ -52,32 +50,23 @@ class Session : public QObject Q_PROPERTY(QString pin READ getPin NOTIFY pinChanged) public: - explicit Session(QObject *parent, MainQMLAdaptor *main_gui = nullptr); + explicit Session(QObject *parent, MainQMLAdaptor *main_gui = nullptr, + RWAHost *host = nullptr); QString getStatus(); QString getURL(); - QString getID(); - QString getHostID(); QString getSessionID(); QString getPin(); void setStatus(QString status); void setURL(QString url); - void setID(QString id); - void setHostID(QString host_id); void setSessionID(QString session_id); void setPin(QString pin); - // Starts a VNC Session - void start_request_dbus(QString host_id); - // Refreshes a VNC Session's status - void refresh_status_request_dbus(QString host_id, QString id); - // Stop the Session - void stop_request_dbus(QString id); - // Gets a VNC Session's status - void status_request_dbus(QString id); - // Returns true if Session is somewhat usable (Running, Alive, etc..) - bool isSessionAliveOrRunning(QString status); + void start(); + void stop(); + void status(); + void refresh_status(); protected: QString _status; @@ -85,33 +74,33 @@ protected: void init_vars(); private: - MainQMLAdaptor* _main_gui; - QString _id; + MainQMLAdaptor *_main_gui; + RWAHost *_host; + DBusAPI *_dbus_api; + QString _session_id; - QString _host_id; QString _url; QString _pin; - OrgArcticaProjectRWASupportSessionServiceInterface* _dbus_rwa; - void _initDBus(); + + // Returns true if a session is somewhat usable (Running, Alive, etc..) + bool isSessionAliveOrRunning(QString status); bool _minimizedBefore = false; void minimizeWindow(); - signals: void finished(); void statusChanged(QString); - void idChanged(QString); void sessionIDChanged(QString); void urlChanged(QString); void pinChanged(QString); - void hostIDChanged(QString); public slots: void handleConnectButtonClick(bool checked); - - void start_dbus_replied(QDBusPendingCallWatcher *call); - void stop_dbus_replied(QDBusPendingCallWatcher *call); - void status_dbus_replied(QDBusPendingCallWatcher *call); - void onCloseHandler(); + + void start_response(QJsonDocument *doc); + void stop_response(QJsonDocument *doc); + void status_response(QJsonDocument *doc); }; + +#endif // SESSION_H -- cgit v1.2.3 From 98049d1507a6f2ae232782fd79f4f753ad53eead Mon Sep 17 00:00:00 2001 From: Daniel Teichmann Date: Tue, 6 Jul 2021 20:02:31 +0200 Subject: Fix copyright headers --- src/session.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/session.h') diff --git a/src/session.h b/src/session.h index 2c534f4..5935919 100644 --- a/src/session.h +++ b/src/session.h @@ -1,8 +1,8 @@ /* * This file is part of Remote Support Desktop * https://gitlab.das-netzwerkteam.de/RemoteWebApp/rwa.support.desktopapp - * Copyright 2020-2021 Daniel Teichmann - * Copyright 2020-2021 Mike Gabriel + * Copyright 2020, 2021 Daniel Teichmann + * Copyright 2020, 2021 Mike Gabriel * SPDX-License-Identifier: GPL-2.0-or-later * * This program is free software; you can redistribute it and/or modify -- cgit v1.2.3 From 35343e5158ca441f8001c0a91685f4e93b53cb03 Mon Sep 17 00:00:00 2001 From: Daniel Teichmann Date: Sun, 1 Aug 2021 02:22:57 +0200 Subject: Toast: Add a variety of new toast colors; Session complete rewrite; A lot of bugfixing; New available toast colors/types: ToastType.Standard, ToastType.Info, ToastType.Warning ToastType.Success, ToastType.Error --- src/session.h | 52 +++++++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 27 deletions(-) (limited to 'src/session.h') diff --git a/src/session.h b/src/session.h index 5935919..e1c924f 100644 --- a/src/session.h +++ b/src/session.h @@ -33,48 +33,41 @@ #include #include -#include "main_qmladaptor.h" #include "RWAHost.h" #include "DBusAPI.h" -class Session : public QObject -{ +class Session : public QObject { Q_OBJECT - // this makes status available as a QML property - Q_PROPERTY(QString status READ getStatus NOTIFY statusChanged) - // this makes session_id available as a QML property - Q_PROPERTY(QString session_id READ getSessionID NOTIFY sessionIDChanged) - // this makes url available as a QML property - Q_PROPERTY(QString url READ getURL NOTIFY urlChanged) - // this makes pin available as a QML property - Q_PROPERTY(QString pin READ getPin NOTIFY pinChanged) public: - explicit Session(QObject *parent, MainQMLAdaptor *main_gui = nullptr, + explicit Session(DBusAPI *dbus_api = nullptr, RWAHost *host = nullptr); + ~Session(); QString getStatus(); QString getURL(); QString getSessionID(); QString getPin(); + RWAHost* getHost(); void setStatus(QString status); void setURL(QString url); void setSessionID(QString session_id); void setPin(QString pin); + void setHost(RWAHost *host); void start(); void stop(); void status(); void refresh_status(); -protected: - QString _status; - void statusTimerEvent(); - void init_vars(); + bool started; private: - MainQMLAdaptor *_main_gui; + void statusTimerEvent(); + + bool _emitted_status_error_already; + QString _status; RWAHost *_host; DBusAPI *_dbus_api; @@ -82,25 +75,30 @@ private: QString _url; QString _pin; - // Returns true if a session is somewhat usable (Running, Alive, etc..) - bool isSessionAliveOrRunning(QString status); - bool _minimizedBefore = false; - void minimizeWindow(); + signals: - void finished(); void statusChanged(QString); void sessionIDChanged(QString); void urlChanged(QString); void pinChanged(QString); + void hostChanged(RWAHost*); + + void startFailed(QString error_message); + void stopFailed(QString error_message); + void statusFailed(QString error_message); + + void startSucceeded(); + void stopSucceeded(); + void statusSucceeded(); public slots: - void handleConnectButtonClick(bool checked); - void onCloseHandler(); + // Returns true if a session is somewhat usable (Running, Alive, etc..) + bool isSessionAliveOrRunning(); - void start_response(QJsonDocument *doc); - void stop_response(QJsonDocument *doc); - void status_response(QJsonDocument *doc); + void start_response(QJsonDocument*); + void stop_response(QJsonDocument*); + void status_response(QJsonDocument*); }; #endif // SESSION_H -- cgit v1.2.3