comparison Applications/IBasicApplication.h @ 242:092db46c6291 am

improved SDL/Wasm unification
author am@osimis.io
date Wed, 20 Jun 2018 14:20:55 +0200
parents ce4405d98b92
children dc1beee33134
comparison
equal deleted inserted replaced
241:a4197519eb55 242:092db46c6291
27 27
28 namespace OrthancStone 28 namespace OrthancStone
29 { 29 {
30 class IBasicApplication : public boost::noncopyable 30 class IBasicApplication : public boost::noncopyable
31 { 31 {
32 protected:
33 BasicApplicationContext* context_;
34
32 public: 35 public:
33 virtual ~IBasicApplication() 36 virtual ~IBasicApplication()
34 { 37 {
35 } 38 }
36 39
37 virtual void DeclareStartupOptions(boost::program_options::options_description& options) = 0; 40 virtual void DeclareStartupOptions(boost::program_options::options_description& options) = 0;
38 virtual void Initialize(IStatusBar& statusBar, 41 virtual void Initialize(BasicApplicationContext* context,
42 IStatusBar& statusBar,
39 const boost::program_options::variables_map& parameters) = 0; 43 const boost::program_options::variables_map& parameters) = 0;
40 44 #if ORTHANC_ENABLE_SDL==0
41 #if ORTHANC_ENABLE_SDL == 1 45 virtual void InitializeWasm() {} // specific initialization when the app is running in WebAssembly. This is called after the other Initialize()
42 virtual BasicApplicationContext& CreateApplicationContext(Orthanc::WebServiceParameters& orthancWebService, OrthancStone::WidgetViewport* centralViewport) = 0;
43 #else
44 virtual BasicApplicationContext& CreateApplicationContext(IWebService& orthancWebService, std::shared_ptr<WidgetViewport> centralViewport) = 0;
45 #endif 46 #endif
46 47
47 virtual std::string GetTitle() const = 0; 48 virtual std::string GetTitle() const = 0;
48 49 virtual IWidget* GetCentralWidget() = 0;
49 // virtual void Initialize(BasicApplicationContext& context,
50 // IStatusBar& statusBar,
51 // const std::map<std::string, std::string>& startupOptions) = 0;
52 50
53 virtual void Finalize() = 0; 51 virtual void Finalize() = 0;
54 52
55 }; 53 };
56 54