Rabbit Remote Control 0.0.37
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
CPlugin Class Referenceabstract

Plugin interface. More...

#include <Plugin.h>

Inheritance diagram for CPlugin:
Inheritance graph
[legend]
Collaboration diagram for CPlugin:
Collaboration graph
[legend]

Public Types

enum class  TYPE {
  RemoteDesktop , Terminal , Client , Service ,
  FileTransfers , NetworkTools , Tools , Custom = 1000
}
 

Public Member Functions

 CPlugin (QObject *parent=nullptr)
 
virtual const TYPE Type () const =0
 
virtual const QString TypeName (const TYPE t) const
 
virtual const QString Id ()
 ID. Default: Type() + ":" + Protocol() + ":" + Name()
 
virtual const QString Protocol () const =0
 Plugin Protocol.
 
virtual const QString Name () const =0
 This name must be the same as the project name (${PROJECT_NAME}). The translation file (${PROJECT_NAME}_*.ts)) name is associated with it.
 
virtual const QString DisplayName () const
 The plugin display name.
 
virtual const QString Description () const =0
 Plugin description.
 
virtual const QString Version () const =0
 Version.
 
virtual const QIcon Icon () const =0
 
virtual const QString Details () const
 Display more information in About dialog or log.
 

Protected Member Functions

virtual Q_INVOKABLE COperateCreateOperate (const QString &szId, CParameterPlugin *para)
 New COperate instance.
 
virtual COperateOnCreateOperate (const QString &szId)=0
 
virtual Q_INVOKABLE int DeleteOperate (COperate *p)
 Delete COperate.
 

Private Member Functions

Q_INVOKABLE int InitTranslator ()
 Initialize the translation resource, which is only called by CClient.
 

Private Attributes

QSharedPointer< QTranslator > m_Translator
 

Detailed Description

Plugin interface.

Definition at line 14 of file Plugin.h.

Member Enumeration Documentation

◆ TYPE

enum class CPlugin::TYPE
strong

Definition at line 21 of file Plugin.h.

Constructor & Destructor Documentation

◆ ~CPlugin()

CPlugin::~CPlugin ( )
virtual

Definition at line 15 of file Plugin.cpp.

Member Function Documentation

◆ CreateOperate()

COperate * CPlugin::CreateOperate ( const QString &  szId,
CParameterPlugin para 
)
protectedvirtual

New COperate instance.

[CPlugin CreateOperate]

Only is called by CClient

Returns
Return COperate pointer, the owner is caller
Note
The function new object pointer, the caller must delete it when don't use it.
Parameters
szId
See also
CClient::CreateOperate CClient::LoadOperate

Reimplemented in CPluginWakeOnLan.

Definition at line 84 of file Plugin.cpp.

◆ DeleteOperate()

int CPlugin::DeleteOperate ( COperate p)
protectedvirtual

Delete COperate.

[CPlugin CreateOperate]

Reimplemented in CPluginWakeOnLan.

Definition at line 126 of file Plugin.cpp.

◆ Description()

virtual const QString CPlugin::Description ( ) const
pure virtual

◆ Details()

const QString CPlugin::Details ( ) const
virtual

Display more information in About dialog or log.

eg: Include the plugin depends on the library version and description

See also
CPluginFreeRDP::Details()

Reimplemented in CPluginFreeRDP, CPluginLibVNCServer, CPluginPlayer, CPluginLibSSH, CPluginTerminal, CPluginTigerVnc, and CPluginWakeOnLan.

Definition at line 78 of file Plugin.cpp.

◆ DisplayName()

const QString CPlugin::DisplayName ( ) const
virtual

◆ Id()

const QString CPlugin::Id ( )
virtual

ID. Default: Type() + ":" + Protocol() + ":" + Name()

Definition at line 68 of file Plugin.cpp.

◆ InitTranslator()

int CPlugin::InitTranslator ( )
private

Initialize the translation resource, which is only called by CClient.

Because it calls Name(), So it can't be called directly in the constructor of this class.

See also
CClient::AppendPlugin

Definition at line 23 of file Plugin.cpp.

◆ Name()

virtual const QString CPlugin::Name ( ) const
pure virtual

This name must be the same as the project name (${PROJECT_NAME}). The translation file (${PROJECT_NAME}_*.ts)) name is associated with it.

Implemented in CPluginFileTransfer, CPluginFreeRDP, CPluginLibVNCServer, CPluginPlayer, CPluginRabbitVNC, CPluginScreenCapture, CPluginSerialPort, CPluginLibSSH, CPluginTelnet, CPluginTerminal, CPluginTigerVnc, and CPluginWakeOnLan.

◆ Protocol()

virtual const QString CPlugin::Protocol ( ) const
pure virtual

◆ Type()

virtual const TYPE CPlugin::Type ( ) const
pure virtual

Implemented in CPluginFreeRDP.

◆ TypeName()

const QString CPlugin::TypeName ( const TYPE  t) const
virtual

Definition at line 35 of file Plugin.cpp.

◆ Version()

virtual const QString CPlugin::Version ( ) const
pure virtual

Member Data Documentation

◆ m_Translator

QSharedPointer<QTranslator> CPlugin::m_Translator
private

Definition at line 95 of file Plugin.h.


The documentation for this class was generated from the following files: