[4.0] Enhance application device signal
[platform/core/uifw/dali-adaptor.git] / adaptors / public-api / adaptor-framework / application.h
index 371b533..d36416b 100644 (file)
@@ -47,7 +47,7 @@ class Application;
  * @brief An Application class object should be created by every application
  * that wishes to use Dali.
  *
- * It provides a means for initialising the
+ * It provides a means for initializing the
  * resources required by the Dali::Core.
  *
  * The Application class emits several signals which the user can
@@ -108,11 +108,12 @@ class DALI_IMPORT_API Application : public BaseHandle
 {
 public:
 
+
   typedef Signal< void (Application&) > AppSignalType;  ///< Application lifecycle signal and system signal callback type @SINCE_1_0.0
   typedef Signal< void (Application&, void *) > AppControlSignalType; ///< Application control signal callback type @SINCE_1_0.0
 
   /**
-   * @brief Decides whether a Dali application window is opaque or transparent.
+   * @brief Enumeration for deciding whether a Dali application window is opaque or transparent.
    * @SINCE_1_0.0
    */
   enum WINDOW_MODE
@@ -126,6 +127,9 @@ public:
   /**
    * @brief This is the constructor for applications without an argument list.
    * @SINCE_1_0.0
+   * @PRIVLEVEL_PUBLIC
+   * @PRIVILEGE_DISPLAY
+   * @return A handle to the Application
    */
   static Application New();
 
@@ -133,52 +137,66 @@ public:
    * @brief This is the constructor for applications.
    *
    * @SINCE_1_0.0
+   * @PRIVLEVEL_PUBLIC
+   * @PRIVILEGE_DISPLAY
    * @param[in,out]  argc        A pointer to the number of arguments
-   * @param[in,out]  argv        A pointer the the argument list
+   * @param[in,out]  argv        A pointer to the argument list
+   * @return A handle to the Application
    */
   static Application New( int* argc, char **argv[] );
 
   /**
-   * @brief This is the constructor for applications with a name
+   * @brief This is the constructor for applications with a name.
    *
    * @SINCE_1_0.0
+   * @PRIVLEVEL_PUBLIC
+   * @PRIVILEGE_DISPLAY
    * @param[in,out]  argc        A pointer to the number of arguments
-   * @param[in,out]  argv        A pointer the the argument list
+   * @param[in,out]  argv        A pointer to the argument list
    * @param[in]      stylesheet  The path to user defined theme file
+   * @return A handle to the Application
+   * @note If the stylesheet is not specified, then the library's default stylesheet will not be overridden.
    */
   static Application New( int* argc, char **argv[], const std::string& stylesheet );
 
   /**
-   * @brief This is the constructor for applications with a name
+   * @brief This is the constructor for applications with a name.
    *
    * @SINCE_1_0.0
+   * @PRIVLEVEL_PUBLIC
+   * @PRIVILEGE_DISPLAY
    * @param[in,out]  argc        A pointer to the number of arguments
-   * @param[in,out]  argv        A pointer the the argument list
+   * @param[in,out]  argv        A pointer to the argument list
    * @param[in]      stylesheet  The path to user defined theme file
    * @param[in]      windowMode  A member of WINDOW_MODE
+   * @return A handle to the Application
+   * @note If the stylesheet is not specified, then the library's default stylesheet will not be overridden.
    */
   static Application New( int* argc, char **argv[], const std::string& stylesheet, WINDOW_MODE windowMode );
 
   /**
-   * @brief Construct an empty handle
+   * @brief Constructs an empty handle.
    * @SINCE_1_0.0
    */
   Application();
 
   /**
-   * @brief Copy Constructor
+   * @brief Copy Constructor.
    * @SINCE_1_0.0
+   * @param[in] application Handle to an object
    */
   Application( const Application& application );
 
   /**
-   * @brief Assignment operator
+   * @brief Assignment operator.
    * @SINCE_1_0.0
+   * @param[in] application Handle to an object
+   * @return A reference to this
    */
-  Application& operator=( const Application& applicaton );
+  Application& operator=( const Application& application );
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
    * @SINCE_1_0.0
@@ -204,11 +222,12 @@ public:
    * trigger context loss & regain.
    * The application should listen to Stage::ContextLostSignal and Stage::ContextRegainedSignal.
    * @SINCE_1_0.0
+   * @param[in] configuration The context loss configuration
    */
   void MainLoop(Configuration::ContextLoss configuration);
 
   /**
-   * @brief This lowers the application to bottom without actually quitting it
+   * @brief This lowers the application to bottom without actually quitting it.
    * @SINCE_1_0.0
    */
   void Lower();
@@ -222,8 +241,8 @@ public:
   /**
    * @brief Ensures that the function passed in is called from the main loop when it is idle.
    * @SINCE_1_0.0
-   * @param[in]  callback  The function to call.
-   * @return true if added successfully, false otherwise
+   * @param[in] callback The function to call
+   * @return @c true if added successfully, @c false otherwise
    *
    * @note Function must be called from main event thread only
    *
@@ -247,43 +266,53 @@ public:
   Window GetWindow();
 
   /**
-   * @brief Replace the current window.
+   * @brief Replaces the current window.
    *
    * This will force context loss.
    * If you plan on using this API in your application, then you should configure
-   * it to prevent discard behaviour when handling the Init signal.
+   * it to prevent discard behavior when handling the Init signal.
    * @SINCE_1_0.0
    * @param[in] windowPosition The position and size parameters of the new window
    * @param[in] name The name of the new window
    */
   void ReplaceWindow(PositionSize windowPosition, const std::string& name);
 
+  /**
+   * @brief Get path application resources are stored at
+   *
+   * @SINCE_1_2.2
+   * @return the full path of the resources
+   */
+  static std::string GetResourcePath();
+
 public: // Stereoscopy
 
   /**
-   * @brief Set the viewing mode for the application.
+   * @brief Sets the viewing mode for the application.
    * @SINCE_1_0.0
-   * @param[in] viewMode The new viewing mode.
+   * @param[in] viewMode The new viewing mode
    */
   void SetViewMode( ViewMode viewMode );
 
   /**
-   * @brief Get the current viewing mode.
+   * @brief Gets the current viewing mode.
    * @SINCE_1_0.0
-   * @return The current viewing mode.
+   * @return The current viewing mode
    */
   ViewMode GetViewMode() const;
 
   /**
-   * @brief Set the stereo base (eye separation) for Stereoscopic 3D
+   * @brief Sets the stereo base (eye separation) for Stereoscopic 3D.
    *
+   * The stereo base is the distance in millimetres between the eyes. Typical values are
+   * between 50mm and 70mm. The default value is 65mm.
    * @SINCE_1_0.0
    * @param[in] stereoBase The stereo base (eye separation) for Stereoscopic 3D
    */
   void SetStereoBase( float stereoBase );
 
   /**
-   * @brief Get the stereo base (eye separation) for Stereoscopic 3D
+   * @brief Gets the stereo base (eye separation) for Stereoscopic 3D.
    *
    * @SINCE_1_0.0
    * @return The stereo base (eye separation) for Stereoscopic 3D
@@ -293,16 +322,18 @@ public: // Stereoscopy
 public:  // Signals
 
   /**
-   * @brief The user should connect to this signal to determine when they should initialise
+   * @brief The user should connect to this signal to determine when they should initialize
    * their application.
    * @SINCE_1_0.0
+   * @return The signal to connect to
    */
   AppSignalType& InitSignal();
 
   /**
    * @brief The user should connect to this signal to determine when they should terminate
-   * their application
+   * their application.
    * @SINCE_1_0.0
+   * @return The signal to connect to
    */
   AppSignalType& TerminateSignal();
 
@@ -310,6 +341,7 @@ public:  // Signals
    * @brief The user should connect to this signal if they need to perform any special
    * activities when the application is about to be paused.
    * @SINCE_1_0.0
+   * @return The signal to connect to
    */
   AppSignalType& PauseSignal();
 
@@ -317,18 +349,22 @@ public:  // Signals
    * @brief The user should connect to this signal if they need to perform any special
    * activities when the application has resumed.
    * @SINCE_1_0.0
+   * @return The signal to connect to
    */
   AppSignalType& ResumeSignal();
 
   /**
-   * @brief This signal is sent when the system requires the user to reinitialise itself.
+   * @brief This signal is sent when the system requires the user to reinitialize itself.
    * @SINCE_1_0.0
+   * @return The signal to connect to
    */
   AppSignalType& ResetSignal();
 
   /**
-   * @brief This signal is emitted when the window the application is rendering on is resized.
+   * @DEPRECATED_1_1.43 Use Window::ResizedSignal() instead.
+   * @brief This signal is emitted when the window application rendering on is resized.
    * @SINCE_1_0.0
+   * @return The signal to connect to
    */
   AppSignalType& ResizeSignal();
 
@@ -338,39 +374,48 @@ public:  // Signals
   * When the application is launched, this signal is emitted after the main loop of the application starts up.
   * The passed parameter describes the launch request and contains the information about why the application is launched.
   * @SINCE_1_0.0
+  * @return The signal to connect to
   */
   AppControlSignalType& AppControlSignal();
 
   /**
    * @brief This signal is emitted when the language is changed on the device.
    * @SINCE_1_0.0
+   * @return The signal to connect to
    */
   AppSignalType& LanguageChangedSignal();
 
   /**
   * @brief This signal is emitted when the region of the device is changed.
   * @SINCE_1_0.0
+  * @return The signal to connect to
   */
   AppSignalType& RegionChangedSignal();
 
   /**
+  * @DEPRECATED_1_2.58 Use LowBatterySignal() instead.
   * @brief This signal is emitted when the battery level of the device is low.
   * @SINCE_1_0.0
+  * @return The signal to connect to
   */
-  AppSignalType& BatteryLowSignal();
+  AppSignalType& BatteryLowSignal() DALI_DEPRECATED_API;
 
   /**
+  * @DEPRECATED_1_2.58 Use LowMemorySignal() instead.
   * @brief This signal is emitted when the memory level of the device is low.
   * @SINCE_1_0.0
+  * @return The signal to connect to
   */
-  AppSignalType& MemoryLowSignal();
+  AppSignalType& MemoryLowSignal() DALI_DEPRECATED_API;
 
 public: // Not intended for application developers
+  /// @cond internal
   /**
-   * @brief Internal constructor
+   * @brief Internal constructor.
    * @SINCE_1_0.0
    */
   explicit DALI_INTERNAL Application(Internal::Adaptor::Application* application);
+  /// @endcond
 };
 
 /**