Files
GServer-v2/server/include/Scripting/interface/ScriptEnv.h
2021-07-15 01:39:52 +02:00

34 lines
672 B
C++

#pragma once
#ifndef SCRIPTENV_H
#define SCRIPTENV_H
#include <functional>
#include "ScriptUtils.h"
class IScriptFunction;
class IScriptEnv
{
public:
IScriptEnv() {}
virtual ~IScriptEnv() {}
virtual int GetType() const = 0;
virtual void Initialize() = 0;
virtual void Cleanup(bool shutDown = false) = 0;
virtual IScriptFunction * Compile(const std::string& name, const std::string& source) = 0;
virtual void CallFunctionInScope(std::function<void()> function) = 0;
virtual void TerminateExecution() = 0;
const ScriptRunError& getScriptError() const {
return _lastScriptError;
}
protected:
ScriptRunError _lastScriptError;
};
#endif