[3.0] Add WatchTime APIs
[platform/core/uifw/dali-adaptor.git] / adaptors / wearable / watch / watch-time.h
index 1a304b5..df2d907 100644 (file)
@@ -19,6 +19,7 @@
  */
 
 // EXTERNAL INCLUDES
+#include <time.h>
 
 // INTERNAL INCLUDES
 #include <dali/public-api/dali-core.h>
@@ -34,7 +35,8 @@ namespace Dali
  * @brief The WatchTime class is used to get time for the WatchApplication.
  *
  * A WatchTime has a time handle from watch application framework.
- * You can get time(hour, minute, second) on receiving timeTick signal
+ * You can get time(hour, minute, second, millisecond) and date(year, month, day)
+ * on receiving timeTick signal.
  * @SINCE_1_1.37
  */
 class DALI_IMPORT_API WatchTime
@@ -42,53 +44,152 @@ class DALI_IMPORT_API WatchTime
 public:
 
   /**
-   * @brief Constructor
+   * @brief Constructor.
    * @SINCE_1_1.37
    */
   WatchTime();
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
    * @SINCE_1_1.37
    */
   ~WatchTime();
 
   /**
-   * @brief return current hour
+   * @brief Returns the current hour.
    *
    * @SINCE_1_1.37
-   * @return the current hour
+   * @return The current hour
+   * @note The return value is always positive.
    * @pre The WatchTime needs to be initialized.
    */
   int GetHour() const;
 
   /**
-   * @brief return current hour24
+   * @brief Returns the current hour24.
    *
    * @SINCE_1_1.37
-   * @return the current hour(the 24-hour clock)
+   * @return The current hour(the 24-hour clock)
+   * @note The return value is always positive.
    * @pre The WatchTime needs to be initialized.
    */
   int GetHour24() const;
 
   /**
-   * @brief return current minute
+   * @brief Returns the current minute.
    *
    * @SINCE_1_1.37
-   * @return the current minute
+   * @return The current minute
+   * @note The return value is always positive.
    * @pre The WatchTime needs to be initialized.
    */
   int GetMinute() const;
 
   /**
-   * @brief return current second
+   * @brief Returns the current second.
    *
    * @SINCE_1_1.37
-   * @return the current second
+   * @return The current second
+   * @note The return value is always positive.
    * @pre The WatchTime needs to be initialized.
    */
   int GetSecond() const;
 
+  /**
+   * @brief Returns the current millisecond.
+   *
+   * @SINCE_1_2_32
+   * @return The current millisecond
+   * @note The return value is always positive.
+   * @pre The WatchTime needs to be initialized.
+   */
+  int GetMillisecond() const;
+
+  /**
+   * @brief Returns the current year.
+   *
+   * @SINCE_1_2_32
+   * @return The current year
+   * @note The return value is always positive.
+   * @pre The WatchTime needs to be initialized.
+   */
+  int GetYear() const;
+
+  /**
+   * @brief Returns the current month.
+   *
+   * @SINCE_1_2_32
+   * @return The current month
+   * @note The return value is always positive.
+   * @pre The WatchTime needs to be initialized.
+   */
+  int GetMonth() const;
+
+  /**
+   * @brief Returns the current day.
+   *
+   * @SINCE_1_2_32
+   * @return The current day
+   * @note The return value is always positive.
+   * @pre The WatchTime needs to be initialized.
+   */
+  int GetDay() const;
+
+  /**
+   * @brief Returns the current day of week.
+   *
+   * @details The value returns from 1 (Sunday) to 7 (Saturday).
+   *
+   * @SINCE_1_2_32
+   * @return The current day of week
+   * @note The return value is always positive.
+   * @pre The WatchTime needs to be initialized.
+   */
+  int GetDayOfWeek() const;
+
+  /**
+   * @brief Returns the UTC time. (Coordinated Universal Time)
+   *
+   * @details Regarding struct tm (the return value), please refer to the site :
+   * http://www.cplusplus.com/reference/ctime/tm/
+   *
+   * @SINCE_1_2_32
+   * @return The UTC time
+   * @pre The WatchTime needs to be initialized.
+   */
+  struct tm GetUtcTime() const;
+
+  /**
+   * @brief Returns the UTC timestamp.
+   *
+   * @SINCE_1_2_32
+   * @return The UTC timestamp
+   * @pre The WatchTime needs to be initialized.
+   */
+  time_t GetUtcTimeStamp() const;
+
+  /**
+   * @brief Returns the ID of timezone.
+   *
+   * @details The timezone ID, according to the IANA(Internet Assigned Numbers Authority)
+   * If you want to see more information, please refer to the site :
+   * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones/
+   *
+   * @SINCE_1_2_32
+   * @return The ID of timezone
+   * @pre The WatchTime needs to be initialized.
+   */
+  const char* GetTimeZone() const;
+
+  /**
+   * @brief Returns the daylight saving time status.
+   *
+   * @SINCE_1_2_32
+   * @return The Daylight Saving Time status
+   * @pre The WatchTime needs to be initialized.
+   */
+  bool GetDaylightSavingTimeStatus() const;
+
 public: // Not intended for application developers
   DALI_INTERNAL WatchTime(void *time_handle);