Rabbit Remote Control 0.0.37
Loading...
Searching...
No Matches
PluginTigerVnc.cpp
1// Author: Kang Lin <kl222@126.com>
2
3#include "PluginTigerVnc.h"
4#include "OperateVnc.h"
5#include "RabbitCommonDir.h"
6
7#ifdef HAVE_LIBSSH
8 #include "ChannelSSHTunnel.h"
9#endif
10
11#include <QLoggingCategory>
12static Q_LOGGING_CATEGORY(log, "VNC.Plugin.Tiger")
13
14CPluginTigerVnc::CPluginTigerVnc(QObject *parent)
15 : CPlugin(parent)
16{
17 qDebug(log) << "CPluginTigerVnc::CPluginTigerVnc()";
18}
19
20CPluginTigerVnc::~CPluginTigerVnc()
21{
22 qDebug(log) << "CPluginTigerVnc::~CPluginTigerVnc()";
23}
24
25const CPlugin::TYPE CPluginTigerVnc::Type() const
26{
27 return TYPE::RemoteDesktop;
28}
29
30const QString CPluginTigerVnc::Name() const
31{
32 return "TigerVNC";
33}
34
35const QString CPluginTigerVnc::DisplayName() const
36{
37 return tr("TigerVNC");
38}
39
40const QString CPluginTigerVnc::Description() const
41{
42 return tr("VNC(Virtual Network Console): Access remote desktops such as unix/linux, windows, etc.") + "\n"
43 + tr("VNC is a set of programs using the RFB (Remote Frame Buffer) protocol.") + "\n"
44 + tr("The plugin is used TigerVNC") + ": https://github.com/kanglin/tigervnc";
45}
46
47const QString CPluginTigerVnc::Protocol() const
48{
49 return "RFB";
50}
51
52const QIcon CPluginTigerVnc::Icon() const
53{
54 return QIcon::fromTheme("vnc");
55}
56
57const QString CPluginTigerVnc::Version() const
58{
59 return PluginTigerVNC_VERSION;
60}
61
62const QString CPluginTigerVnc::Details() const
63{
64 QString szDetails;
65#ifdef HAVE_LIBSSH
66 CChannelSSHTunnel channel(nullptr, nullptr, nullptr);
67 szDetails += channel.GetDetails();
68#endif
69 return szDetails;
70}
71
72COperate *CPluginTigerVnc::OnCreateOperate(const QString &szID)
73{
74 if(Id() == szID)
75 {
76 return new COperateVnc(this);
77 }
78 return nullptr;
79}
ssh tunnel class
virtual QString GetDetails() override
Depend on information.
Operate interface.
Definition Operate.h:50
virtual const QString Protocol() const override
Plugin Protocol.
virtual const QString Name() const override
This name must be the same as the project name (${PROJECT_NAME}). The translation file (${PROJECT_NAM...
virtual const QString DisplayName() const override
The plugin display name.
virtual const QString Version() const override
Version.
virtual const QString Description() const override
Plugin description.
virtual const QString Details() const override
Display more information in About dialog or log.
Plugin interface.
Definition Plugin.h:15
virtual const QString Id()
ID. Default: Type() + ":" + Protocol() + ":" + Name()
Definition Plugin.cpp:68