diff 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
line wrap: on
line diff
--- a/Applications/IBasicApplication.h	Wed Jun 20 09:50:25 2018 +0200
+++ b/Applications/IBasicApplication.h	Wed Jun 20 14:20:55 2018 +0200
@@ -29,26 +29,24 @@
 {
   class IBasicApplication : public boost::noncopyable
   {
+  protected:
+    BasicApplicationContext* context_;
+
   public:
     virtual ~IBasicApplication()
     {
     }
 
     virtual void DeclareStartupOptions(boost::program_options::options_description& options) = 0;
-    virtual void Initialize(IStatusBar& statusBar,
+    virtual void Initialize(BasicApplicationContext* context,
+                            IStatusBar& statusBar,
                             const boost::program_options::variables_map& parameters) = 0;
-
-#if ORTHANC_ENABLE_SDL == 1
-  virtual BasicApplicationContext& CreateApplicationContext(Orthanc::WebServiceParameters& orthancWebService, OrthancStone::WidgetViewport* centralViewport) = 0;
-#else
-  virtual BasicApplicationContext& CreateApplicationContext(IWebService& orthancWebService, std::shared_ptr<WidgetViewport> centralViewport) = 0;
+#if ORTHANC_ENABLE_SDL==0
+    virtual void InitializeWasm() {}  // specific initialization when the app is running in WebAssembly.  This is called after the other Initialize()
 #endif
 
     virtual std::string GetTitle() const = 0;
-
-//    virtual void Initialize(BasicApplicationContext& context,
-//                            IStatusBar& statusBar,
-//                            const std::map<std::string, std::string>& startupOptions) = 0;
+    virtual IWidget* GetCentralWidget() = 0;
 
     virtual void Finalize() = 0;