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