5#include <QLoggingCategory>
6#include "RabbitCommonTools.h"
10static Q_LOGGING_CATEGORY(log,
"Plugin")
18 qDebug(log) << Q_FUNC_INFO;
20 RabbitCommon::CTools::Instance()->RemoveTranslator(m_Translator);
26 m_Translator = RabbitCommon::CTools::Instance()->InstallTranslator(
28 RabbitCommon::CTools::TranslationType::Plugin,
36const QString CPlugin::TypeName(
const TYPE t)
const
38 if(t >= TYPE::Custom) {
39 qWarning(log) <<
"Please override `const QString CPlugin::TypeName(const TYPE t) const` with "
40 + QString(metaObject()->className()) +
"::TypeName(const Type t)" ;
49 case TYPE::RemoteDesktop:
50 return tr(
"Remote Desktop");
52 return tr(
"Terminal");
55 case TYPE::FileTransfers:
56 return tr(
"File Transfer");
57 case TYPE::NetworkTools:
58 return tr(
"Network Tools");
60 qWarning(log) <<
"Please override `const QString CPlugin::TypeName(const TYPE t) const` with "
61 + QString(metaObject()->className()) +
"::TypeName(const Type t)" ;
64 qCritical(log) <<
"Don't support type:" << (int)t;
65 QMetaEnum me = QMetaEnum::fromType<CPlugin::TYPE>();
66 return me.valueToKey((quint64)t);
73 return QString::number((
int)Type()) +
":" +
Protocol() +
":" +
Name();
94 bool bRet = QMetaObject::invokeMethod(
98 Q_RETURN_ARG(
int, nRet));
100 qCritical(log) <<
"Call p->Initial() fail.";
104 qCritical(log) <<
"Operate initial fail" << nRet;
109 bRet = QMetaObject::invokeMethod(
111 "SetGlobalParameters",
112 Qt::DirectConnection,
113 Q_RETURN_ARG(
int, nRet),
116 qCritical(log) <<
"Call p->SetParameterClient(para) fail.";
120 qCritical(log) <<
"SetParameterClient fail" << nRet;
131 qDebug(log) << Q_FUNC_INFO;
136 bRet = QMetaObject::invokeMethod(
139 Qt::DirectConnection,
140 Q_RETURN_ARG(
int, nRet));
142 qCritical(log) <<
"Call p->Clean() fail.";
146 qWarning(log) <<
"Operate clean fail" << nRet;
Global parameters of plugins.
virtual Q_INVOKABLE QWidget * GetSettingsWidget(QWidget *parent)
Get the widget to set global parameters for the plugin.
virtual const QString Details() const
Display more information in About dialog or log.
virtual Q_INVOKABLE int DeleteOperate(COperate *p)
Delete COperate.
Q_INVOKABLE int InitTranslator()
Initialize the translation resource, which is only called by CManager.
virtual const QString Name() const =0
This name must be the same as the project name (${PROJECT_NAME}). The translation file (${PROJECT_NAM...
virtual const QString DisplayName() const
The plugin display name.
virtual const QString Protocol() const =0
Plugin Protocol.
virtual const QString Id() const
ID. Default: Type() + ":" + Protocol() + ":" + Name()
virtual Q_INVOKABLE COperate * CreateOperate(const QString &szId, CParameterPlugin *para)
New COperate instance.