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