mirror of
https://github.com/xtjoeytx/GServer-v2.git
synced 2026-05-08 08:40:08 -04:00
34 lines
672 B
C++
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
|