39 if(!pOperate)
return nullptr;
41 szMsg =
"Please generate plugin from template using the script `./Script/create_plugin.sh --template=QtEvent`. or ";
42 szMsg += QString(pOperate->metaObject()->className());
43 szMsg +=
" include `sigNewBackend(COperate*)`, `sigDeleteBackend(COperate*)` and `Q_INVOKABLE virtual CBackend* InstanceBackend()`";
51 if(-1 == pOperate->metaObject()->indexOfMethod(
"InstanceBackend()")) {
53 szErr =
"The class " + QString(pOperate->metaObject()->className())
54 +
" has not method InstanceBackend(). "
55 "Please add 'Q_INVOKABLE virtual CBackend* InstanceBackend()' to "
56 + QString(pOperate->metaObject()->className());
57 szErr +=
". " + szMsg;
58 qCritical(log) << szErr;
59 Q_ASSERT_X(
false,
"CPluginBackendThread", szErr.toStdString().c_str());
61 if(-1 == pOperate->metaObject()->indexOfMethod(
"sigNewBackend(COperate*)")) {
63 szErr =
"The class " + QString(pOperate->metaObject()->className())
64 +
" has not signal sigNewBackend(). "
65 "Please add 'void sigNewBackend();' to "
66 + QString(pOperate->metaObject()->className());
67 szErr +=
". " + szMsg;
68 qCritical(log) << szErr;
69 Q_ASSERT_X(
false,
"CPluginBackendThread", szErr.toStdString().c_str());
71 if(-1 == pOperate->metaObject()->indexOfMethod(
"sigDeleteBackend(COperate*)")) {
73 szErr =
"The class " + QString(pOperate->metaObject()->className())
74 +
" has not signal sigDeleteBackend(). "
75 "Please add 'void sigDeleteBackend();' to "
76 + QString(pOperate->metaObject()->className());
77 szErr +=
". " + szMsg;
78 qCritical(log) << szErr;
79 Q_ASSERT_X(
false,
"CPluginBackendThread", szErr.toStdString().c_str());
84 bool check = connect(pOperate, SIGNAL(sigNewBackend(
COperate*)),
85 m_pThread, SIGNAL(sigNewBackend(
COperate*)));
87 check = connect(pOperate, SIGNAL(sigDeleteBackend(
COperate*)),
88 m_pThread, SIGNAL(sigDeleteBackend(
COperate*)));