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");