Mercurial > hg > orthanc-stone
comparison Platforms/Wasm/Defaults.cpp @ 431:26b90b110719 am-vsol-upgrade
added DelayedCallExecutor to avoid using sleep() in C++ that consumes 100% CPU once executed in WASM
author | am@osimis.io |
---|---|
date | Thu, 29 Nov 2018 19:25:15 +0100 |
parents | c23df8b3433b |
children | 3b4df9925db6 |
comparison
equal
deleted
inserted
replaced
430:b85f635f1eb5 | 431:26b90b110719 |
---|---|
1 #include "Defaults.h" | 1 #include "Defaults.h" |
2 | 2 |
3 #include "WasmWebService.h" | 3 #include "WasmWebService.h" |
4 #include "WasmDelayedCallExecutor.h" | |
4 #include <Framework/dev.h> | 5 #include <Framework/dev.h> |
5 #include "Framework/Widgets/TestCairoWidget.h" | 6 #include "Framework/Widgets/TestCairoWidget.h" |
6 #include <Framework/Viewport/WidgetViewport.h> | 7 #include <Framework/Viewport/WidgetViewport.h> |
7 #include <algorithm> | 8 #include <algorithm> |
8 #include "Applications/Wasm/StartupParametersBuilder.h" | 9 #include "Applications/Wasm/StartupParametersBuilder.h" |
71 printf("CreateWasmApplication\n"); | 72 printf("CreateWasmApplication\n"); |
72 | 73 |
73 application.reset(CreateUserApplication(broker)); | 74 application.reset(CreateUserApplication(broker)); |
74 applicationWasmAdapter.reset(CreateWasmApplicationAdapter(broker, application.get())); | 75 applicationWasmAdapter.reset(CreateWasmApplicationAdapter(broker, application.get())); |
75 WasmWebService::SetBroker(broker); | 76 WasmWebService::SetBroker(broker); |
77 WasmDelayedCallExecutor::SetBroker(broker); | |
76 | 78 |
77 startupParametersBuilder.Clear(); | 79 startupParametersBuilder.Clear(); |
78 } | 80 } |
79 | 81 |
80 void EMSCRIPTEN_KEEPALIVE SetStartupParameter(const char* keyc, | 82 void EMSCRIPTEN_KEEPALIVE SetStartupParameter(const char* keyc, |
94 | 96 |
95 context.reset(new OrthancStone::StoneApplicationContext(broker)); | 97 context.reset(new OrthancStone::StoneApplicationContext(broker)); |
96 context->SetOrthancBaseUrl(baseUri); | 98 context->SetOrthancBaseUrl(baseUri); |
97 printf("Base URL to Orthanc API: [%s]\n", baseUri); | 99 printf("Base URL to Orthanc API: [%s]\n", baseUri); |
98 context->SetWebService(OrthancStone::WasmWebService::GetInstance()); | 100 context->SetWebService(OrthancStone::WasmWebService::GetInstance()); |
101 context->SetDelayedCallExecutor(OrthancStone::WasmDelayedCallExecutor::GetInstance()); | |
99 application->Initialize(context.get(), statusBar_, parameters); | 102 application->Initialize(context.get(), statusBar_, parameters); |
100 application->InitializeWasm(); | 103 application->InitializeWasm(); |
101 | 104 |
102 // viewport->SetSize(width_, height_); | 105 // viewport->SetSize(width_, height_); |
103 printf("StartWasmApplication - completed\n"); | 106 printf("StartWasmApplication - completed\n"); |