Skip to content

Commit e86d48c

Browse files
committed
Plugin::Template: modify destory
1 parent 6a83c56 commit e86d48c

18 files changed

Lines changed: 148 additions & 47 deletions

Plugins/FtpServer/PluginFtpServer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ CPluginFtpServer::~CPluginFtpServer()
2323

2424
const CPlugin::TYPE CPluginFtpServer::Type() const
2525
{
26-
return TYPE::Service;
26+
return TYPE::Server;
2727
}
2828

2929
const QString CPluginFtpServer::Protocol() const

Plugins/SftpServer/PluginSftpServer.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ CPluginSftpServer::~CPluginSftpServer()
2121

2222
const CPlugin::TYPE CPluginSftpServer::Type() const
2323
{
24-
return CPlugin::TYPE::Service;
24+
return CPlugin::TYPE::Server;
2525
}
2626

2727
const QString CPluginSftpServer::Protocol() const
@@ -74,8 +74,8 @@ const QString CPluginSftpServer::Details() const
7474
COperate *CPluginSftpServer::OnCreateOperate(const QString &szId)
7575
{
7676
if(szId != Id()) {
77-
qCritical(log) << "Invalid ID";
77+
qCritical(log) << "Invalid ID:" << szId;
7878
return nullptr;
7979
}
8080
return new COperateSftpServer(this);
81-
}
81+
}

Plugins/Template/Base/BackendTemplateBase.cpp

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,22 @@ CBackendTemplateBase::~CBackendTemplateBase()
1313
qDebug(log) << Q_FUNC_INFO;
1414
}
1515

16+
/*!
17+
* \~chinese 初始化
18+
* \return
19+
* \li OnInitReturnValue::Fail: 错误
20+
* \li OnInitReturnValue::Success/OnInitReturnValue::UseOnProcess: 使用 OnProcess() (非 Qt 事件循环)
21+
* \li OnInitReturnValue::NotUseOnProcess: 不使用 OnProcess() (qt 事件循环)
22+
*
23+
* \~english Initialization
24+
* \return CBackend::OnInitReturnValue
25+
* \li OnInitReturnValue::Fail: error
26+
* \li OnInitReturnValue::Success/OnInitReturnValue::UseOnProcess: Use OnProcess() (non-Qt event loop)
27+
* \li OnInitReturnValue::NotUseOnProcess: Don't use OnProcess() (qt event loop)
28+
*
29+
* \~
30+
* \see Start()
31+
*/
1632
CBackend::OnInitReturnValue CBackendTemplateBase::OnInit()
1733
{
1834
OnInitReturnValue ret = OnInitReturnValue::NotUseOnProcess;
@@ -26,6 +42,7 @@ int CBackendTemplateBase::OnClean()
2642
{
2743
int nRet = 0;
2844
// TODO: Modify clean
45+
2946
emit sigFinished();
3047
return nRet;
31-
}
48+
}

Plugins/Template/Base/OperateTemplateBase.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,22 @@ COperateTemplateBase::COperateTemplateBase(CPlugin *plugin)
1414
: COperate(plugin)
1515
, m_pPara(nullptr)
1616
, m_pViewer(nullptr)
17+
, m_pThread(nullptr)
1718
{
1819
qDebug(log) << Q_FUNC_INFO;
1920
}
2021

2122
COperateTemplateBase::~COperateTemplateBase()
2223
{
2324
qDebug(log) << Q_FUNC_INFO;
25+
QString szClass = this->metaObject()->className();
26+
QString szWhat;
27+
szWhat += "Please call ";
28+
szWhat += szClass;
29+
szWhat += "::Stop() first";
30+
Q_ASSERT_X(!m_pThread && !m_pPara && !m_pViewer,
31+
szClass.toStdString().c_str(), szWhat.toStdString().c_str());
32+
2433
}
2534

2635
CParameterTemplateBase* COperateTemplateBase::GetParameter() const
@@ -113,7 +122,8 @@ int COperateTemplateBase::Initial()
113122

114123
// TODO: add initial
115124

116-
m_Menu.addAction(m_pActionSettings);
125+
if(m_pActionSettings)
126+
m_Menu.addAction(m_pActionSettings);
117127
return nRet;
118128
}
119129

Plugins/Template/Base/PluginTemplateBase.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ const QString CPluginTemplateBase::Details() const
6464
COperate *CPluginTemplateBase::OnCreateOperate(const QString &szId)
6565
{
6666
if(szId != Id()) {
67-
qCritical(log) << "Invalid ID";
67+
qCritical(log) << "Invalid ID:" << szId;
6868
return nullptr;
6969
}
7070
return new COperateTemplateBase(this);
71-
}
71+
}

Plugins/Template/Desktop/BackendTemplateDesktop.cpp

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,27 @@ CBackendTemplateDesktop::~CBackendTemplateDesktop()
1515
qDebug(log) << Q_FUNC_INFO;
1616
}
1717

18+
/*!
19+
* \~chinese 初始化
20+
* \return
21+
* \li OnInitReturnValue::Fail: 错误
22+
* \li OnInitReturnValue::Success/OnInitReturnValue::UseOnProcess: 使用 OnProcess() (非 Qt 事件循环)
23+
* \li OnInitReturnValue::NotUseOnProcess: 不使用 OnProcess() (qt 事件循环)
24+
*
25+
* \~english Initialization
26+
* \return CBackend::OnInitReturnValue
27+
* \li OnInitReturnValue::Fail: error
28+
* \li OnInitReturnValue::Success/OnInitReturnValue::UseOnProcess: Use OnProcess() (non-Qt event loop)
29+
* \li OnInitReturnValue::NotUseOnProcess: Don't use OnProcess() (qt event loop)
30+
*
31+
* \~
32+
* \see Start()
33+
*/
1834
CBackend::OnInitReturnValue CBackendTemplateDesktop::OnInit()
1935
{
2036
OnInitReturnValue ret = OnInitReturnValue::NotUseOnProcess;
2137
// TODO: Modify Initialization
38+
2239
emit sigRunning();
2340
return ret;
2441
}
@@ -27,6 +44,7 @@ int CBackendTemplateDesktop::OnClean()
2744
{
2845
int nRet = 0;
2946
// TODO: Modify clean
47+
3048
emit sigFinished();
3149
return nRet;
3250
}
@@ -35,4 +53,4 @@ void CBackendTemplateDesktop::slotClipBoardChanged()
3553
{
3654
// TODO: add clipboard operate
3755

38-
}
56+
}

Plugins/Template/Desktop/OperateTemplateDesktop.cpp

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,28 @@
33
#include <QLoggingCategory>
44

55
#include "DlgSettingsTemplateDesktop.h"
6-
#include "OperateTemplateDesktop.h"
76
#include "ParameterTemplateDesktop.h"
87
#include "BackendTemplateDesktop.h"
8+
#include "OperateTemplateDesktop.h"
99

1010
static Q_LOGGING_CATEGORY(log, "Operate.TemplateDesktop")
1111
COperateTemplateDesktop::COperateTemplateDesktop(CPlugin *plugin)
1212
: COperateDesktop(plugin)
13+
, m_pPara(nullptr)
1314
{
1415
qDebug(log) << Q_FUNC_INFO;
15-
m_pPara = new CParameterTemplateDesktop();
16-
SetParameter(m_pPara);
16+
1717
}
1818

1919
COperateTemplateDesktop::~COperateTemplateDesktop()
2020
{
2121
qDebug(log) << Q_FUNC_INFO;
22-
if(m_pPara)
23-
delete m_pPara;
22+
QString szClass = this->metaObject()->className();
23+
QString szWhat;
24+
szWhat += "Please call ";
25+
szWhat += szClass;
26+
szWhat += "::Stop() first";
27+
Q_ASSERT_X(!m_pPara, szClass.toStdString().c_str(), szWhat.toStdString().c_str());
2428
}
2529

2630
QDialog *COperateTemplateDesktop::OnOpenDialogSettings(QWidget *parent)
@@ -31,4 +35,28 @@ QDialog *COperateTemplateDesktop::OnOpenDialogSettings(QWidget *parent)
3135
CBackend *COperateTemplateDesktop::InstanceBackend()
3236
{
3337
return new CBackendTemplateDesktop(this);
34-
}
38+
}
39+
40+
int COperateTemplateDesktop::Initial()
41+
{
42+
int nRet = 0;
43+
nRet = COperateDesktop::Initial();
44+
if(nRet) return nRet;
45+
m_pPara = new CParameterTemplateDesktop();
46+
if(m_pPara)
47+
SetParameter(m_pPara);
48+
return nRet;
49+
}
50+
51+
int COperateTemplateDesktop::Clean()
52+
{
53+
int nRet = 0;
54+
// TODO: add Clean
55+
56+
if(m_pPara) {
57+
delete m_pPara;
58+
m_pPara = nullptr;
59+
}
60+
nRet = COperateDesktop::Clean();
61+
return nRet;
62+
}

Plugins/Template/Desktop/OperateTemplateDesktop.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ class COperateTemplateDesktop : public COperateDesktop
1515
private:
1616
CParameterTemplateDesktop* m_pPara;
1717

18-
// COperate interface
1918
private:
2019
virtual QDialog *OnOpenDialogSettings(QWidget *parent) override;
2120

22-
// COperateDesktop interface
2321
protected:
2422
virtual CBackend *InstanceBackend() override;
23+
virtual int Initial() override;
24+
virtual int Clean() override;
2525
};

Plugins/Template/Desktop/PluginTemplateDesktop.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ const QString CPluginTemplateDesktop::Details() const
5656
COperate *CPluginTemplateDesktop::OnCreateOperate(const QString &szId)
5757
{
5858
if(szId != Id()) {
59-
qCritical(log) << "Invalid ID";
59+
qCritical(log) << "Invalid ID:" << szId;
6060
return nullptr;
6161
}
6262
return new COperateTemplateDesktop(this);
63-
}
63+
}

Plugins/Template/Server/BackendTemplateServer.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,22 @@ CBackendTemplateServer::~CBackendTemplateServer()
1414
qDebug(log) << Q_FUNC_INFO;
1515
}
1616

17+
/*!
18+
* \~chinese 初始化
19+
* \return
20+
* \li OnInitReturnValue::Fail: 错误
21+
* \li OnInitReturnValue::Success/OnInitReturnValue::UseOnProcess: 使用 OnProcess() (非 Qt 事件循环)
22+
* \li OnInitReturnValue::NotUseOnProcess: 不使用 OnProcess() (qt 事件循环)
23+
*
24+
* \~english Initialization
25+
* \return CBackend::OnInitReturnValue
26+
* \li OnInitReturnValue::Fail: error
27+
* \li OnInitReturnValue::Success/OnInitReturnValue::UseOnProcess: Use OnProcess() (non-Qt event loop)
28+
* \li OnInitReturnValue::NotUseOnProcess: Don't use OnProcess() (qt event loop)
29+
*
30+
* \~
31+
* \see Start()
32+
*/
1733
CBackend::OnInitReturnValue CBackendTemplateServer::OnInit()
1834
{
1935
OnInitReturnValue ret = OnInitReturnValue::NotUseOnProcess;

0 commit comments

Comments
 (0)