JD2022-TU1/main/extern/dtest/dtcore/inc/dtscriptstatementleaf.h

36 lines
858 B
C++

#pragma once
#include "dtcore/inc/dtservicescript.h"
#include "dtcore/inc/dtscript.h"
namespace dt
{
class ScriptStatementLeafImpl;
class ScriptStatementLeaf : public ScriptStatement
{
public:
DT_CORE_DLL_ENTRY ScriptStatementLeaf();
DT_CORE_DLL_ENTRY ~ScriptStatementLeaf();
DT_CORE_DLL_ENTRY virtual bool InternalUpdate() override;
DT_CORE_DLL_ENTRY virtual void SetCompleted() override;
DT_CORE_DLL_ENTRY virtual void Skip() override;
enum class State
{
Pending,
Synchronize,
Initialize,
Run,
Cleanup,
Done
};
DT_CORE_DLL_ENTRY const State GetState() const;
private:
DT_CORE_DLL_ENTRY virtual void InternalTimeout() override;
ScriptStatementLeafImpl* m_Impl;
};
}