#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; }; }