Mercurial > hg > orthanc-stone
comparison Platforms/Wasm/Defaults.cpp @ 253:8ff70c04c6df am-2
IObservable/IObserver now working in WASM too
author | am@osimis.io |
---|---|
date | Tue, 03 Jul 2018 10:48:47 +0200 |
parents | 092db46c6291 |
children | 65562a28fe05 |
comparison
equal
deleted
inserted
replaced
252:40b21c1f8b8d | 253:8ff70c04c6df |
---|---|
14 /**********************************/ | 14 /**********************************/ |
15 | 15 |
16 static std::unique_ptr<OrthancStone::IBasicApplication> application; | 16 static std::unique_ptr<OrthancStone::IBasicApplication> application; |
17 static std::unique_ptr<OrthancStone::BasicApplicationContext> context; | 17 static std::unique_ptr<OrthancStone::BasicApplicationContext> context; |
18 static OrthancStone::StartupParametersBuilder startupParametersBuilder; | 18 static OrthancStone::StartupParametersBuilder startupParametersBuilder; |
19 static OrthancStone::MessageBroker broker; | |
19 | 20 |
20 static OrthancStone::ChangeObserver changeObserver_; | 21 static OrthancStone::ChangeObserver changeObserver_; |
21 static OrthancStone::StatusBar statusBar_; | 22 static OrthancStone::StatusBar statusBar_; |
22 | |
23 | 23 |
24 static std::list<std::shared_ptr<OrthancStone::WidgetViewport>> viewports_; | 24 static std::list<std::shared_ptr<OrthancStone::WidgetViewport>> viewports_; |
25 | 25 |
26 std::shared_ptr<OrthancStone::WidgetViewport> FindViewportSharedPtr(ViewportHandle viewport) { | 26 std::shared_ptr<OrthancStone::WidgetViewport> FindViewportSharedPtr(ViewportHandle viewport) { |
27 for (const auto& v : viewports_) { | 27 for (const auto& v : viewports_) { |
64 | 64 |
65 void EMSCRIPTEN_KEEPALIVE CreateWasmApplication(ViewportHandle viewport) { | 65 void EMSCRIPTEN_KEEPALIVE CreateWasmApplication(ViewportHandle viewport) { |
66 | 66 |
67 printf("CreateWasmApplication\n"); | 67 printf("CreateWasmApplication\n"); |
68 | 68 |
69 application.reset(CreateUserApplication()); | 69 application.reset(CreateUserApplication(broker)); |
70 | 70 |
71 startupParametersBuilder.Clear(); | 71 startupParametersBuilder.Clear(); |
72 } | 72 } |
73 | 73 |
74 void EMSCRIPTEN_KEEPALIVE SetStartupParameter(const char* keyc, | 74 void EMSCRIPTEN_KEEPALIVE SetStartupParameter(const char* keyc, |
84 boost::program_options::variables_map parameters; | 84 boost::program_options::variables_map parameters; |
85 boost::program_options::options_description options; | 85 boost::program_options::options_description options; |
86 application->DeclareStartupOptions(options); | 86 application->DeclareStartupOptions(options); |
87 startupParametersBuilder.GetStartupParameters(parameters, options); | 87 startupParametersBuilder.GetStartupParameters(parameters, options); |
88 | 88 |
89 WasmWebService::SetBroker(broker); | |
89 context.reset(new OrthancStone::BasicApplicationContext(OrthancStone::WasmWebService::GetInstance())); | 90 context.reset(new OrthancStone::BasicApplicationContext(OrthancStone::WasmWebService::GetInstance())); |
90 application->Initialize(context.get(), statusBar_, parameters); | 91 application->Initialize(context.get(), statusBar_, parameters); |
91 application->InitializeWasm(); | 92 application->InitializeWasm(); |
92 | 93 |
93 // viewport->SetSize(width_, height_); | 94 // viewport->SetSize(width_, height_); |