Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cpp/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ cmake-build-debug-visual-studio
cmake-build-debug
cmake-build-release-visual-studio
cmake-build-release
.vs
5 changes: 3 additions & 2 deletions Cpp/src/ArcscriptHelpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include <map>
#include <vector>
#include <set>
#include <functional>
#include "ArcscriptOutputs.h"

namespace Arcweave {
Expand Down Expand Up @@ -33,9 +34,9 @@ class ArcscriptState {
std::string currentElement;
std::map<std::string, int> visits;

void (*emit) (const char* eventName);
std::function<void(const char*)>(emit);

ArcscriptState(std::string elementId, std::map<std::string, Variable> varValues, std::map<std::string, int> _visits, void (*_emit) (const char* eventName)) {
ArcscriptState(std::string elementId, std::map<std::string, Variable> varValues, std::map<std::string, int> _visits, std::function<void(const char*)> _emit) {
currentElement = elementId;
variableValues = varValues;
for(const auto var : variableValues) {
Expand Down
2 changes: 1 addition & 1 deletion Cpp/src/ArcscriptTranspiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ TranspilerOutput ArcscriptTranspiler::runScript(std::string code) {
return result;
}

UTranspilerOutput* runScriptExport(const char* code, const char* elId, UVariable* variables, size_t varLength, UVisit* visits, size_t visitsLength, void (*onEvent)(const char*))
UTranspilerOutput* runScriptExport(const char* code, const char* elId, UVariable* variables, size_t varLength, UVisit* visits, size_t visitsLength, std::function<void(const char*)> onEvent)
{
Arcweave::TranspilerOutput transpilerOutput;

Expand Down
4 changes: 2 additions & 2 deletions Cpp/src/ArcscriptTranspiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ namespace Arcweave

ArcscriptState state;

ArcscriptTranspiler(std::string elId, std::map<std::string, Variable> initVars, std::map<std::string, int> _visits, void (*onEvent)(const char*)) : state(elId, initVars, _visits, onEvent) { };
ArcscriptTranspiler(std::string elId, std::map<std::string, Variable> initVars, std::map<std::string, int> _visits, std::function<void(const char*)> onEvent) : state(elId, initVars, _visits, onEvent) { };

/**
* Runs the arcscript code and returns it's results.
Expand All @@ -149,5 +149,5 @@ namespace Arcweave
//ARCSCRIPTTRANSPILER_API UTranspilerOutput URunScript(char* code);
};
};
EXPORTED Arcweave::UTranspilerOutput* runScriptExport(const char* code, const char* elId, Arcweave::UVariable* variables, size_t varLength, Arcweave::UVisit* visits, size_t visitsLength, void (*onEvent)(const char*));
EXPORTED Arcweave::UTranspilerOutput* runScriptExport(const char* code, const char* elId, Arcweave::UVariable* variables, size_t varLength, Arcweave::UVisit* visits, size_t visitsLength, std::function<void(const char*)> onEvent);
EXPORTED void deallocateOutput(Arcweave::UTranspilerOutput* output);