Add client pause/resume API
[platform/framework/web/livebox-viewer.git] / include / livebox.h
index 683eaf3..cfb3068 100644 (file)
@@ -35,19 +35,61 @@ struct livebox;
 #define DEFAULT_PERIOD -1.0f
 
 enum content_event_type {
-       LB_MOUSE_DOWN = 0x0001, /*!< LB mouse down event for livebox */
-       LB_MOUSE_UP = 0x0002, /*!< LB mouse up event for livebox */
-       LB_MOUSE_MOVE = 0x0004, /*!< LB mouse move event for livebox */
-       LB_MOUSE_ENTER = 0x0008, /*!< LB mouse enter event for livebox */
-       LB_MOUSE_LEAVE = 0x0010, /*!< LB mouse leave event for livebox */
-
-       PD_MOUSE_DOWN = 0x0100, /*!< PD mouse down event for livebox */
-       PD_MOUSE_UP = 0x0200, /*!< PD mouse up event for livebox */
-       PD_MOUSE_MOVE = 0x0400, /*!< PD mouse move event for livebox */
-       PD_MOUSE_ENTER = 0x0800, /*!< PD mouse enter event for livebox */
-       PD_MOUSE_LEAVE = 0x1000, /*!< PD mouse leave event for livebox */
-
-       PD_EVENT_MAX = 0xFFFFFFFF,
+       CONTENT_EVENT_MOUSE_DOWN        = 0x00000001, /*!< LB mouse down event for livebox */
+       CONTENT_EVENT_MOUSE_UP          = 0x00000002, /*!< LB mouse up event for livebox */
+       CONTENT_EVENT_MOUSE_MOVE        = 0x00000004, /*!< LB mouse move event for livebox */
+       CONTENT_EVENT_MOUSE_ENTER       = 0x00000008, /*!< LB mouse enter event for livebox */
+       CONTENT_EVENT_MOUSE_LEAVE       = 0x00000010, /*!< LB mouse leave event for livebox */
+
+       CONTENT_EVENT_ACCESS_READ       = 0x00000100, /*!< LB accessibility read for livebox */
+       CONTENT_EVENT_ACCESS_READ_NEXT  = 0x00000200, /*!< LB accessibility read next for livebox */
+       CONTENT_EVENT_ACCESS_READ_PREV  = 0x00000400, /*!< LB accessibility read prev for livebox */
+       CONTENT_EVENT_ACCESS_ACTIVATE   = 0x00000800, /*!< LB accessibility activate */
+       CONTENT_EVENT_ACCESS_UP         = 0x00001000, /*!< LB accessibility up */
+       CONTENT_EVENT_ACCESS_DOWN       = 0x00002000, /*!< LB accessibility down */
+
+       CONTENT_EVENT_KEY_DOWN          = 0x00100000, /*!< LB key press */
+       CONTENT_EVENT_KEY_UP            = 0x00200000, /*!< LB key release */
+
+       CONTENT_EVENT_KEY_MASK          = 0x80000000,
+       CONTENT_EVENT_ACCESS_MASK       = 0x40000000,
+       CONTENT_EVENT_MOUSE_MASK        = 0x20000000,
+       CONTENT_EVENT_PD_MASK           = 0x10000000,
+       CONTENT_EVENT_LB_MASK           = 0x00000000,
+
+       LB_MOUSE_DOWN                   = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_DOWN,
+       LB_MOUSE_UP                     = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_UP,
+       LB_MOUSE_MOVE                   = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_MOVE,
+       LB_MOUSE_ENTER                  = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_ENTER,
+       LB_MOUSE_LEAVE                  = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_LEAVE,
+
+       PD_MOUSE_DOWN                   = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_DOWN,
+       PD_MOUSE_UP                     = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_UP,
+       PD_MOUSE_MOVE                   = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_MOVE,
+       PD_MOUSE_ENTER                  = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_ENTER,
+       PD_MOUSE_LEAVE                  = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_LEAVE,
+
+       LB_ACCESS_READ                  = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_READ,
+       LB_ACCESS_READ_NEXT             = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_READ_NEXT,
+       LB_ACCESS_READ_PREV             = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_READ_PREV,
+       LB_ACCESS_ACTIVATE              = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_ACTIVATE,
+       LB_ACCESS_UP                    = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_UP,
+       LB_ACCESS_DOWN                  = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_DOWN,
+
+       PD_ACCESS_READ                  = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_READ,
+       PD_ACCESS_READ_NEXT             = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_READ_NEXT,
+       PD_ACCESS_READ_PREV             = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_READ_PREV,
+       PD_ACCESS_ACTIVATE              = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_ACTIVATE,
+       PD_ACCESS_UP                    = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_UP,
+       PD_ACCESS_DOWN                  = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_ACCESS_MASK | CONTENT_EVENT_ACCESS_DOWN,
+
+       LB_KEY_DOWN                     = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_DOWN,
+       LB_KEY_UP                       = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_UP,
+
+       PD_KEY_DOWN                     = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_DOWN,
+       PD_KEY_UP                       = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_UP,
+
+       CONTENT_EVENT_MAX       = 0xFFFFFFFF,
 };
 
 /* Exported to user app */
@@ -79,6 +121,9 @@ enum livebox_event_type { /*!< livebox_event_handler_set Event list */
        LB_EVENT_PINUP_CHANGED, /*!< PINUP status is changed */
        LB_EVENT_PERIOD_CHANGED, /*!< Update period is changed */
 
+       LB_EVENT_LB_SIZE_CHANGED, /*!< Livebox size is changed */
+       LB_EVENT_PD_SIZE_CHANGED, /*!< PD size is changed */
+
        LB_EVENT_PD_CREATED, /*!< If a PD is created even if you didn't call the livebox_create_pd API */
        LB_EVENT_PD_DESTROYED, /*!< If a PD is destroyed even if you didn't call the livebox_destroy_pd API */
 
@@ -143,6 +188,18 @@ extern int livebox_init(void *disp);
 extern int livebox_fini(void);
 
 /*!
+ * \brief Client is paused.
+ * \return int
+ */
+extern int livebox_client_paused(void);
+
+/*!
+ * \brief Client is rfesumed.
+ * \return int
+ */
+extern int livebox_client_resumed(void);
+
+/*!
  * \brief Add a new livebox
  * \param[in] pkgname
  * \param[in] content
@@ -564,6 +621,13 @@ extern int livebox_unsubscribe_group(const char *cluster, const char *category);
 extern int livebox_refresh_group(const char *cluster, const char *category);
 
 /*!
+ * \brief Refresh a livebox
+ * \param[in] handler
+ * \return int Success 0 or negative value
+ */
+extern int livebox_refresh(struct livebox *handler);
+
+/*!
  * \brief Pixmap Id of a livebox content
  * \param[in] handler
  * \return int