4#include <QLoggingCategory>
5#include "RabbitCommonTools.h"
9static Q_LOGGING_CATEGORY(log,
"Plugin")
17 qDebug(log) << Q_FUNC_INFO;
19 RabbitCommon::CTools::Instance()->RemoveTranslator(m_Translator);
25 m_Translator = RabbitCommon::CTools::Instance()->InstallTranslator(
27 RabbitCommon::CTools::TranslationType::Plugin,
35const QString CPlugin::TypeName(
const TYPE t)
const
37 if(t >= TYPE::Custom) {
38 qWarning(log) <<
"Please override `const QString CPlugin::TypeName(const TYPE t) const` with "
39 + QString(metaObject()->className()) +
"::TypeName(const Type t)" ;
48 case TYPE::RemoteDesktop:
49 return tr(
"Remote Desktop");
51 return tr(
"Terminal");
54 case TYPE::FileTransfers:
55 return tr(
"File transfers");
56 case TYPE::NetworkTools:
57 return tr(
"Network Tools");
59 qWarning(log) <<
"Please override `const QString CPlugin::TypeName(const TYPE t) const` with "
60 + QString(metaObject()->className()) +
"::TypeName(const Type t)" ;
63 qCritical(log) <<
"Don't support type:" << (int)t;
70 return QString::number((
int)Type()) +
":" +
Protocol() +
":" +
Name();
91 bool bRet = QMetaObject::invokeMethod(
95 Q_RETURN_ARG(
int, nRet));
97 qCritical(log) <<
"Call p->Initial() fail.";
101 qCritical(log) <<
"Operate initial fail" << nRet;
106 bRet = QMetaObject::invokeMethod(
108 "SetGlobalParameters",
109 Qt::DirectConnection,
110 Q_RETURN_ARG(
int, nRet),
113 qCritical(log) <<
"Call p->SetParameterClient(para) fail.";
117 qCritical(log) <<
"SetParameterClient fail" << nRet;
128 qDebug(log) << Q_FUNC_INFO;
133 bRet = QMetaObject::invokeMethod(
136 Qt::DirectConnection,
137 Q_RETURN_ARG(
int, nRet));
139 qCritical(log) <<
"Call p->Clean() fail.";
143 qWarning(log) <<
"Operate clean fail" << nRet;
Global parameters of plugins.
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 CClient.
virtual const QString Id()
ID. Default: Type() + ":" + Protocol() + ":" + Name()
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 Q_INVOKABLE COperate * CreateOperate(const QString &szId, CParameterPlugin *para)
New COperate instance.