AngelscriptLanguageServer/server/src/src/Database.hpp

29 lines
1006 B
C++
Raw Normal View History

2020-09-17 19:59:10 +00:00
#ifndef AS_LSP_NATIVE_DATABASE_HPP
#define AS_LSP_NATIVE_DATABASE_HPP
2020-09-17 22:26:14 +00:00
#include "../../node_modules/node-addon-api/napi.h"
2020-09-17 19:59:10 +00:00
#include "../angelscript/extensions/scriptbuilder/scriptbuilder.h"
2020-09-17 22:26:14 +00:00
#include "../angelscript/extensions/scriptstdstring/scriptstdstring.h"
#include "../angelscript/include/angelscript.h"
#include "Diagnostic.hpp"
2020-09-17 19:59:10 +00:00
class Database : public Napi::ObjectWrap<Database> {
private:
asIScriptEngine* _engine;
CScriptBuilder _builder;
2020-09-17 22:26:14 +00:00
std::vector<const Diagnostic*> _messages;
2020-09-17 19:59:10 +00:00
void MessageCallback(const asSMessageInfo* msg);
public:
static Napi::Object Init(Napi::Env env, Napi::Object exports);
explicit Database(const Napi::CallbackInfo& info);
2020-09-18 15:48:45 +00:00
void SetEngineProperty(const Napi::CallbackInfo& info);
2020-09-17 22:26:14 +00:00
void Reset(const Napi::CallbackInfo& info);
2020-09-17 19:59:10 +00:00
void LoadScript(const Napi::CallbackInfo& info);
2020-09-17 22:26:14 +00:00
Napi::Value Build(const Napi::CallbackInfo& info);
2020-09-17 19:59:10 +00:00
Napi::Value GetMessages(const Napi::CallbackInfo& info);
};
#endif // AS_LSP_NATIVE_DATABASE_HPP