Revert "[4.0] Create Widget Application"
[platform/core/uifw/dali-adaptor.git] / adaptors / common / framework.h
old mode 100755 (executable)
new mode 100644 (file)
index 4e414ba..6037d57
@@ -2,7 +2,7 @@
 #define __DALI_INTERNAL_FRAMEWORK_H__
 
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 // EXTERNAL INCLUDES
 #include <string>
 #include <dali/public-api/signals/callback.h>
+#ifdef APPCORE_WATCH_AVAILABLE
+#include "wearable/watch/watch-application.h"
+#endif
 
 // INTERNAL INCLUDES
-#include "abort-handler.h"
+#include <abort-handler.h>
 
 namespace Dali
 {
@@ -35,13 +38,21 @@ namespace Adaptor
 {
 
 /**
- * The Framework class is used to register callbacks with the SLP platform so that
+ * The Framework class is ideally placed to provide key API required by Applications.
+ *
+ * The class is also used to register callbacks with the TIZEN platform so that
  * we know when any of the application lifecycle events occur.  This includes events
  * like when our application is to be initialised, terminated, paused, resumed etc.
+ *
  */
 class Framework
 {
 public:
+  enum Type
+  {
+    NORMAL,       ///<  normal appFramework
+    WATCH     ///< watch appFramework
+  };
 
   /**
    * Observer class for the framework.
@@ -81,6 +92,23 @@ public:
     */
     virtual void OnAppControl(void *) {}
 
+#ifdef APPCORE_WATCH_AVAILABLE
+    /**
+     * Invoked at every second
+     */
+    virtual void OnTimeTick(WatchTime&) {}
+
+    /**
+     * Invoked at every second in ambient mode
+     */
+    virtual void OnAmbientTick(WatchTime&) {}
+
+    /**
+     * Invoked when the device enters or exits ambient mode
+     */
+    virtual void OnAmbientChanged(bool ambient) {}
+#endif
+
     /**
      * Invoked when the language of the device is changed.
      */
@@ -100,7 +128,6 @@ public:
     * Invoked when the memory level of the device is low.
     */
     virtual void OnMemoryLow() {}
-
   };
 
 public:
@@ -110,8 +137,9 @@ public:
    * @param[in]  observer  The observer of the Framework.
    * @param[in]  argc      A pointer to the number of arguments.
    * @param[in]  argv      A pointer the the argument list.
+   * @param[in]  type      The type of application
    */
-  Framework(Observer& observer, int* argc, char ***argv, const std::string& name);
+  Framework( Observer& observer, int* argc, char ***argv, Type type = NORMAL );
 
   /**
    * Destructor
@@ -154,6 +182,11 @@ public:
    */
   std::string GetBundleId() const;
 
+  /**
+   *  Gets the path at which application resources are stored.
+   */
+  static std::string GetResourcePath();
+
 private:
 
   // Undefined
@@ -161,12 +194,18 @@ private:
   Framework& operator=(Framework&);
 
 private:
+
+  /**
+   * Called when the application is created.
+   */
+  bool Create();
+
   /**
    * Called by the App framework when an application lifecycle event occurs.
-   * @param[in]  type  The type of event occurred.
+   * @param[in] type The type of event occurred.
    * @param[in] bundleData The bundle data of event occurred.
    */
-   bool AppStatusHandler(int type, void *bundleData);
+  bool AppStatusHandler(int type, void *bundleData);
 
   /**
    * Called app_reset callback was called with bundle.
@@ -194,7 +233,6 @@ private:
   bool               mRunning;
   int*               mArgc;
   char***            mArgv;
-  std::string        mName;
   std::string        mBundleName;
   std::string        mBundleId;
   AbortHandler       mAbortHandler;
@@ -203,7 +241,6 @@ private: // impl members
 
   struct Impl;
   Impl* mImpl;
-
 };
 
 } // namespace Adaptor