diff options
Diffstat (limited to '')
| -rw-r--r-- | web/adapter.cpp | 16 | ||||
| -rw-r--r-- | web/examples/solve.mjs | 12 | ||||
| -rw-r--r-- | web/storage.cpp | 38 |
3 files changed, 25 insertions, 41 deletions
diff --git a/web/adapter.cpp b/web/adapter.cpp index 3613730..c3134e9 100644 --- a/web/adapter.cpp +++ b/web/adapter.cpp | |||
| @@ -108,17 +108,13 @@ bool solver_valid(const std::string& name) | |||
| 108 | 108 | ||
| 109 | int poll_status(void *arg) | 109 | int poll_status(void *arg) |
| 110 | { | 110 | { |
| 111 | return nissy::status::RUN.value; | 111 | if (arg == NULL || *(int *)arg == -1) |
| 112 | /* | ||
| 113 | TODO: reintroduce poll status | ||
| 114 | int id = *(int *)arg; | ||
| 115 | if (id == -1) | ||
| 116 | return nissy::status::RUN.value; | 112 | return nissy::status::RUN.value; |
| 117 | return callFunctionInt(id); | 113 | |
| 118 | */ | 114 | return callFunctionInt(*(int *)arg); |
| 119 | } | 115 | } |
| 120 | 116 | ||
| 121 | #if 0 | 117 | #if 1 |
| 122 | 118 | ||
| 123 | nissy::solver::solve_result solve(std::string name, | 119 | nissy::solver::solve_result solve(std::string name, |
| 124 | nissy::cube cube, nissy::nissflag nissflag, unsigned minmoves, | 120 | nissy::cube cube, nissy::nissflag nissflag, unsigned minmoves, |
| @@ -212,17 +208,17 @@ EMSCRIPTEN_BINDINGS(Nissy) | |||
| 212 | .function("toString", &nissy::cube::to_string) | 208 | .function("toString", &nissy::cube::to_string) |
| 213 | ; | 209 | ; |
| 214 | 210 | ||
| 211 | /* | ||
| 215 | emscripten::register_vector<std::string>("StringVector"); | 212 | emscripten::register_vector<std::string>("StringVector"); |
| 216 | emscripten::value_array<nissy::solver::solve_result>("SolveResult") | 213 | emscripten::value_array<nissy::solver::solve_result>("SolveResult") |
| 217 | .element(&nissy::solver::solve_result::err) | 214 | .element(&nissy::solver::solve_result::err) |
| 218 | .element(&nissy::solver::solve_result::solutions) | 215 | .element(&nissy::solver::solve_result::solutions) |
| 219 | ; | 216 | ; |
| 220 | /* | 217 | */ |
| 221 | emscripten::class_<nissy::solver::solve_result>("SolveResult") | 218 | emscripten::class_<nissy::solver::solve_result>("SolveResult") |
| 222 | .property("err", &nissy::solver::solve_result::err) | 219 | .property("err", &nissy::solver::solve_result::err) |
| 223 | .property("solutions", &nissy::solver::solve_result::solutions) | 220 | .property("solutions", &nissy::solver::solve_result::solutions) |
| 224 | ; | 221 | ; |
| 225 | */ | ||
| 226 | 222 | ||
| 227 | emscripten::function("countMoves", &nissy::count_moves); | 223 | emscripten::function("countMoves", &nissy::count_moves); |
| 228 | emscripten::function("solve", &solve, | 224 | emscripten::function("solve", &solve, |
diff --git a/web/examples/solve.mjs b/web/examples/solve.mjs deleted file mode 100644 index 8ff59c0..0000000 --- a/web/examples/solve.mjs +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | import Nissy from '../nissy_web_module.mjs' | ||
| 2 | |||
| 3 | const nissy = await Nissy(); | ||
| 4 | |||
| 5 | var log = process.stdout.write.bind(process.stdout); | ||
| 6 | //var log = console.log | ||
| 7 | nissy.setLogger(nissy._addCallbackFunction(log)) | ||
| 8 | |||
| 9 | var cube = new nissy.Cube(); | ||
| 10 | cube.move('R\' U\' F'); | ||
| 11 | |||
| 12 | nissy.solve('h48h0k4', cube, nissy.NissFlag.normal, 0, 8, 2, 99, 4, -1); | ||
diff --git a/web/storage.cpp b/web/storage.cpp index 4be3066..4d0959f 100644 --- a/web/storage.cpp +++ b/web/storage.cpp | |||
| @@ -13,29 +13,29 @@ std::string getprefix() { | |||
| 13 | } | 13 | } |
| 14 | 14 | ||
| 15 | EM_ASYNC_JS(int, loadfs, (), { | 15 | EM_ASYNC_JS(int, loadfs, (), { |
| 16 | const dir = '/tables'; | 16 | const dir = '/tables'; |
| 17 | const inBrowser = typeof window !== 'undefined'; | 17 | const inBrowser = typeof window !== 'undefined'; |
| 18 | const inWorker = typeof WorkerGlobalScope !== 'undefined' && | 18 | const inWorker = typeof WorkerGlobalScope !== 'undefined' && |
| 19 | self instanceof WorkerGlobalScope; | 19 | self instanceof WorkerGlobalScope; |
| 20 | 20 | ||
| 21 | if (!(inBrowser || inWorker)) return; | 21 | if (!(inBrowser || inWorker)) |
| 22 | return; | ||
| 22 | 23 | ||
| 23 | if (!FS.analyzePath(dir).exists) | 24 | if (!FS.analyzePath(dir).exists) |
| 24 | FS.mkdir(dir); | 25 | FS.mkdir(dir); |
| 25 | 26 | ||
| 26 | if (FS.analyzePath(dir).object.mount.mountpoint != dir) { | 27 | if (FS.analyzePath(dir).object.mount.mountpoint != dir) { |
| 27 | FS.mount(IDBFS, { autoPersist: true }, dir); | 28 | FS.mount(IDBFS, { autoPersist: true }, dir); |
| 28 | 29 | ||
| 29 | await new Promise((resolve, reject) => { | 30 | await new Promise((resolve, reject) => { |
| 30 | FS.syncfs(true, function (err) { | 31 | FS.syncfs(true, function (err) { |
| 31 | if (err) { | 32 | if (err) |
| 32 | reject(err); | 33 | reject(err); |
| 33 | } else { | 34 | else |
| 34 | resolve(true); | 35 | resolve(true); |
| 35 | } | 36 | }); |
| 36 | }); | 37 | }); |
| 37 | }); | 38 | } |
| 38 | } | ||
| 39 | }); | 39 | }); |
| 40 | 40 | ||
| 41 | bool storage::read(std::string key, size_t data_size, char *data) | 41 | bool storage::read(std::string key, size_t data_size, char *data) |
