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

38 lines
975 B
C++

#pragma once
#include "dtcore/inc/dtservice.h"
namespace dt
{
class Test;
class AgentRunTestInfo;
class TestDescriptor;
class ServiceScriptImpl;
class ServiceTest_Agent;
class ServiceScript : public ClientService
{
DT_DECLARE_TYPE(ServiceScript, ClientService)
public:
DT_CORE_DLL_ENTRY ServiceScript(ServiceTest_Agent* testService);
DT_CORE_DLL_ENTRY virtual ~ServiceScript();
DT_CORE_DLL_ENTRY virtual const char* GetHttpId() const override { return "Scripts"; }
DT_CORE_DLL_ENTRY void RegisterBuiltInStatements();
DT_CORE_DLL_ENTRY void RegisterBuiltInExpressionParsers();
public:
// This section is meant for INTERNAL USE only.
DT_CORE_DLL_ENTRY bool QueueInteractiveScriptStatement(const String& statements, Test* test, const AgentRunTestInfo& testInfo);
protected:
void Update() override;
private:
ServiceScriptImpl* m_Impl;
};
}