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
1010static Q_LOGGING_CATEGORY (log, " Operate.TemplateDesktop" )
1111COperateTemplateDesktop::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
1919COperateTemplateDesktop::~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
2630QDialog *COperateTemplateDesktop::OnOpenDialogSettings (QWidget *parent)
@@ -31,4 +35,28 @@ QDialog *COperateTemplateDesktop::OnOpenDialogSettings(QWidget *parent)
3135CBackend *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+ }
0 commit comments