3#ifdef HAVE_PCAPPLUSPLUS 
    4    #include "PcapPlusPlusVersion.h" 
    5    #include "PcapDevice.h" 
    7    #include <QLoggingCategory> 
    8    static Q_LOGGING_CATEGORY(logPcpp, 
"WOL.PCPP")
 
    9    void Pcpp_Logger(pcpp::Logger::LogLevel logLevel,
 
   10                     const std::
string& logMessage,
 
   11                     const std::
string& file,
 
   12                     const std::
string& method,
 
   17        case pcpp::Logger::LogLevel::Debug:
 
   18            qDebug(logPcpp) << logMessage.c_str();
 
   20        case pcpp::Logger::LogLevel::Info:
 
   21            qInfo(logPcpp) << logMessage.c_str();
 
   23        case pcpp::Logger::LogLevel::Error:
 
   24            qCritical(logPcpp) << logMessage.c_str();
 
   32#include <QLoggingCategory> 
   35#include "PluginWakeOnLan.h" 
   36#include "OperateWakeOnLan.h" 
   38static Q_LOGGING_CATEGORY(log, 
"WakeOnLan.Plugin")
 
   43#ifdef HAVE_PCAPPLUSPLUS 
   44    pcpp::Logger::getInstance().setLogPrinter(Pcpp_Logger);
 
   45    pcpp::Logger::getInstance().setAllModulesToLogLevel(
 
   46        pcpp::Logger::LogLevel::Debug);
 
   48    pcpp::Logger::getInstance().enableLogs();
 
   49    pcpp::Logger::getInstance().setLogLevel(
 
   50        pcpp::LogModule::PcapLogModuleLiveDevice, pcpp::Logger::LogLevel::Info);
 
   54CPluginWakeOnLan::~CPluginWakeOnLan()
 
   56    qDebug(log) << 
"CPluginWakeOnLan::~CPluginWakeOnLan()";
 
   59const CPlugin::TYPE CPluginWakeOnLan::Type()
 const 
   61    return TYPE::NetworkTools;
 
   71    return tr(
"Wake on lan");
 
 
   76    return tr(
"Wake on lan");
 
 
   79const QIcon CPluginWakeOnLan::Icon()
 const 
   81    return QIcon::fromTheme(
"lan");
 
   86    return PluginWakeOnLan_VERSION;
 
 
   92#ifdef HAVE_PCAPPLUSPLUS 
   93    szDetails = 
"- PcapPlusPlus";
 
   95    szDetails += 
"  - " + tr(
"version: ")
 
   96                 + pcpp::getPcapPlusPlusVersionFull().c_str();
 
   98    szDetails += 
"    - " + tr(
"Pcap lib version info: ")
 
   99                 + pcpp::IPcapDevice::getPcapLibVersionInfo().c_str();
 
 
  108        if(!m_pOperate) 
return m_pOperate;
 
  110        QString szFile = m_pOperate->GetSettingsFile();
 
  112        if(!d.exists(szFile)) 
return m_pOperate;
 
  115        bool bRet = QMetaObject::invokeMethod(
 
  118            Qt::DirectConnection,
 
  119            Q_RETURN_ARG(
int, nRet),
 
  120            Q_ARG(QString, szFile));
 
  122            qCritical(log) << 
"Call" << m_pOperate->metaObject()->className()
 
  123                         + QString(
"::") + 
"Load(QString szFile) fail." << szFile;
 
  127            qCritical(log) << 
"Load parameter fail" << nRet;
 
 
  135COperate* CPluginWakeOnLan::OnCreateOperate(
const QString &szId)
 
  137    qDebug(log) << Q_FUNC_INFO;
 
  147    qDebug(log) << Q_FUNC_INFO;
 
  148    Q_ASSERT(m_pOperate == p);
 
  149    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.