|
@@ -34,7 +34,15 @@ void VtmLoaderServerSession::Handle_DealWithOldEvent(SpReqAnsContext<VtmLoaderSe
|
|
|
void CVtmLoaderEntity::OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext)
|
|
|
{
|
|
|
m_FSM.Init(this);
|
|
|
- //CloseHandle(CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&thread_testEvent, this, 0, NULL));
|
|
|
+ CSmartPointer<IEntityFunction> pFunc = GetFunction();
|
|
|
+ CSmartPointer<IEntityFunctionPrivilege> pFuncPrivilege = pFunc.ConvertCase<IEntityFunctionPrivilege>();
|
|
|
+ ErrorCodeEnum eErrCode = pFuncPrivilege->RegistEntityStateEvent(NULL, this);//only for "HealthManager"
|
|
|
+ if (eErrCode != Error_Succeed)
|
|
|
+ {
|
|
|
+ DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("RegistEntityState failed(%d).", eErrCode);
|
|
|
+ pTransactionContext->SendAnswer(eErrCode);
|
|
|
+ return;
|
|
|
+ }
|
|
|
pTransactionContext->SendAnswer(Error_Succeed) ;
|
|
|
}
|
|
|
|
|
@@ -66,6 +74,7 @@ void CVtmLoaderEntity::OnEntityStateHook(const char* pszEntityName, const char*
|
|
|
{
|
|
|
if (_strnicmp("HealthManager", pszEntityName, strlen("HealthManager")) != 0 || eState != EntityState_Lost)
|
|
|
return;
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s,eState:%d", pszEntityName, eState);
|
|
|
CSmartPointer<IEntityFunction> pFunc = GetFunction();
|
|
|
CSmartPointer<IEntityFunctionPrivilege> pFuncPrivilege = pFunc.ConvertCase<IEntityFunctionPrivilege>();
|
|
|
if (pFuncPrivilege == NULL)
|