2#include <QLoggingCategory>
5#include "PluginWakeOnLan.h"
6#include "OperateWakeOnLan.h"
8#ifdef HAVE_PCAPPLUSPLUS
9 #include "PcapPlusPlusVersion.h"
10 #include "PcapDevice.h"
12 static Q_LOGGING_CATEGORY(logPcpp,
"WOL.PCPP")
13 void Pcpp_Logger(pcpp::Logger::LogLevel logLevel,
14 const std::
string& logMessage,
15 const std::
string& file,
16 const std::
string& method,
21 case pcpp::Logger::LogLevel::Debug:
22 qDebug(logPcpp) << logMessage.c_str();
24 case pcpp::Logger::LogLevel::Info:
25 qInfo(logPcpp) << logMessage.c_str();
27 case pcpp::Logger::LogLevel::Error:
28 qCritical(logPcpp) << logMessage.c_str();
34static Q_LOGGING_CATEGORY(log,
"WakeOnLan.Plugin")
39#ifdef HAVE_PCAPPLUSPLUS
40 pcpp::Logger::getInstance().setLogPrinter(Pcpp_Logger);
41 pcpp::Logger::getInstance().setAllModulesToLogLevel(
42 pcpp::Logger::LogLevel::Debug);
44 pcpp::Logger::getInstance().enableLogs();
45 pcpp::Logger::getInstance().setLogLevel(
46 pcpp::LogModule::PcapLogModuleLiveDevice, pcpp::Logger::Info);
50CPluginWakeOnLan::~CPluginWakeOnLan()
52 qDebug(log) <<
"CPluginWakeOnLan::~CPluginWakeOnLan()";
55const CPlugin::TYPE CPluginWakeOnLan::Type()
const
57 return TYPE::NetworkTools;
67 return tr(
"Wake on lan");
72 return tr(
"Wake on lan");
75const QIcon CPluginWakeOnLan::Icon()
const
77 return QIcon::fromTheme(
"lan");
82 return PluginWakeOnLan_VERSION;
88#ifdef HAVE_PCAPPLUSPLUS
89 szDetails =
"- PcapPlusPlus";
91 szDetails +=
" - " + tr(
"version: ")
92 + pcpp::getPcapPlusPlusVersionFull().c_str();
94 szDetails +=
" - " + tr(
"Pcap lib version info: ")
95 + pcpp::IPcapDevice::getPcapLibVersionInfo().c_str();
104 if(!m_pOperate)
return m_pOperate;
106 QString szFile = m_pOperate->GetSettingsFile();
108 if(!d.exists(szFile))
return m_pOperate;
111 bool bRet = QMetaObject::invokeMethod(
114 Qt::DirectConnection,
115 Q_RETURN_ARG(
int, nRet),
116 Q_ARG(QString, szFile));
118 qCritical(log) <<
"Call" << m_pOperate->metaObject()->className()
119 + QString(
"::") +
"Load(QString szFile) fail." << szFile;
123 qCritical(log) <<
"Load parameter fail" << nRet;
131COperate* CPluginWakeOnLan::OnCreateOperate(
const QString &szId)
133 qDebug(log) << Q_FUNC_INFO;
143 qDebug(log) << Q_FUNC_INFO;
144 Q_ASSERT(m_pOperate == p);
145 m_pOperate =
nullptr;
Wake on lan operate interface.
Global parameters of plugins.
virtual const QString Details() const override
Display more information in About dialog or log.
virtual const QString Protocol() const override
Plugin Protocol.
virtual int DeleteOperate(COperate *p) override
Delete COperate.
virtual const QString DisplayName() const override
The plugin display name.
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 Version() const override
Version.
virtual const QString Description() const override
Plugin description.
virtual COperate * CreateOperate(const QString &szId, CParameterPlugin *para) override
New COperate instance.
virtual Q_INVOKABLE int DeleteOperate(COperate *p)
Delete COperate.
virtual const QString Id()
ID. Default: Type() + ":" + Protocol() + ":" + Name()
virtual Q_INVOKABLE COperate * CreateOperate(const QString &szId, CParameterPlugin *para)
New COperate instance.