N_SE-24098 : Tapping volumebar is not working
[apps/home/message-app.git] / viewer / include / msg-ui-viewer-main.h
1 /*
2  * Copyright 2012  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *    http://floralicense.org/license
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __MSG_UI_VIEWER_MAIN_H__
18 #define __MSG_UI_VIEWER_MAIN_H__
19
20 /*==================================================================================================
21  *                                                                      INCLUDE HEADERS
22  *==================================================================================================*/
23 #include <msg.h>
24 #include "msg-ui-viewer-types.h"
25 #include "msg-ui-util.h"
26
27 #include "msg-ui-viewer-drm-list.h"
28 #include "msg-ui-viewer-play-view.h"
29
30 #include <Elementary.h>
31 #include <ui-gadget-module.h>
32 #include <Ecore_X.h>
33
34 /*==================================================================================================
35  *                                                                              DEFINITIONS
36  *==================================================================================================*/
37 /*View control CMD defines*/
38 #define MSG_VIEWER_VIEW_CMD_NONE        0
39 #define MSG_VIEWER_VIEW_CMD_PLAY        0x01
40
41 /*==================================================================================================
42  *                                                                              ENUMERATIONS
43  *==================================================================================================*/
44 typedef enum {
45         MSG_VIEWER_PLAYER_VIEW,
46         MSG_VIEWER_DRM_LIST_VIEW,
47 } MSG_VIEWER_VIEW_MODE_E;
48
49 typedef enum {
50         MSG_UG_MODE_FULLVIEW,
51         MSG_UG_MODE_FRAMVIEW,
52         MSG_INVALID_UG_MODE,
53 } MSG_UG_LAUNCH_MODE_E;
54
55 typedef enum {
56         MSG_VIEWER_FULLVIEW_MODE = 0,   /*full view mode*/
57         MSG_VIEWER_PREVIEW_MODE,                /*preview mode from composer*/
58         MSG_VIEWER_INVALID_MODE,
59 } MSG_VIEWER_LAUNCH_VIEW_MODE_E;
60
61 /*==================================================================================================
62  *                                                                              STRUCTURES
63  *==================================================================================================*/
64 typedef struct _MSG_VIEWER_MAIN_DATA {
65         ui_gadget_h     viewer_ug;
66         struct ug_cbs   cbs;
67         ui_gadget_h     loaded_ug;      /*if each view call other ug, then set this loaded_ug by using msg_ui_viewer_set_loaded_ug*/
68
69         Evas_Object     *main_window;
70         Evas_Object     *layout_main;
71         Evas_Object     *bg;
72         Evas_Object     *navi_frame;    /*if navi_frame is created from which view, then navi_frame should be set by using msg_ui_viewer_set_navi_frame*/
73
74         msg_handle_t    msgHandle;      /*ipc handler between viewer and MF*/
75         int     msgID;
76
77         MSG_VIEWER_LAUNCH_VIEW_MODE_E   launchmode;     /*preview mode or full view mode */
78         void    *SmilHandle;    /*smilplayer handler*/
79         msg_struct_t msg_t;     /* msg info struct */
80         msg_struct_t mms_t;     /* mms struct */
81
82         MSG_UG_LAUNCH_MODE_E    ug_launch_mode; /*This is a launching ug-mode of viewer, frameview or fullview*/
83
84         MSG_VIEWER_VIEW_MODE_E  view_mode;
85         MSG_DRM_LIST_DATA_S     *drm_list_view;
86         MSG_PLAY_DATA_S *player_view;
87
88         bool msg_box_viewer;    /* TRUE if viewer is launched from message box */
89
90         Ecore_Idler     *del_idler;
91         Eina_List* drm_list;/*set invalid ro drm content*/
92 } MSG_VIEWER_MAIN_DATA_S;
93
94 /*==================================================================================================
95  *                                                              FUNCTION DECLARATIONS
96  *==================================================================================================*/
97 void msg_ui_viewer_main_init(void *data);
98 MSG_BOOL msg_ui_viewer_launch(void *data);
99 void msg_ui_viewer_show_view_by_mode(void *data, MSG_VIEWER_VIEW_MODE_E viewMode, unsigned int commandType);
100
101 /*
102  *@fn   msg_ui_viewer_set_loaded_ug(void *data, ui_gadget_h loaded_ug);
103  *@brief        this function is used to set loaded ug pointer to MSG_VIEWER_MAIN_DATA_S
104  *@param[in] data MSG_VIEWER_MAIN_DATA_S structure
105  *@param[in] loaded_ug  loaded ug pointer
106  */
107 void msg_ui_viewer_set_loaded_ug(void *data, ui_gadget_h loaded_ug);
108
109 /*
110  *@fn   msg_ui_viewer_set_navi_frame(void *data, Evas_Object *navi_frame);
111  *@brief this function is used to set navi_frame to MSG_VIEWER_MAIN_DATA_S
112  *@param[in] data MSG_VIEWER_MAIN_DATA_S structure
113  *@param[in] navi_frame  naviframe pointer
114  */
115 void msg_ui_viewer_set_navi_frame(void *data, Evas_Object *navi_frame);
116
117 /*
118  *@fn   msg_ui_viewer_set_smilhandle(void *data, void *smilhandle);
119  *@brief this function is used to set smilhandle to MSG_VIEWER_MAIN_DATA_S
120  *@param[in] data MSG_VIEWER_MAIN_DATA_S structure
121  *@param[in] smilhandle  smilhandle
122  */
123 void msg_ui_viewer_set_smilhandle(void *data, void *smilhandle);
124
125 /*
126  *@fn   msg_ui_viewer_get_viewer_launchmode(void *data, MSG_VIEWER_LAUNCH_VIEW_MODE_E *launchmode);
127  *@brief this function is used to get viewer launch mode(preview/fullview)
128  *@param[in] data MSG_VIEWER_MAIN_DATA_S structure
129  *@param[out] launchmode  MSG_VIEWER_LAUNCH_VIEW_MODE_E mode (preview/fullview)
130  *@return       return TRUE if it has launchmode, else FALSE
131  */
132 MSG_BOOL msg_ui_viewer_get_viewer_launchmode(void *data, MSG_VIEWER_LAUNCH_VIEW_MODE_E *launchmode);
133
134 /*
135  *@fn   msg_ui_viewer_get_viewer_ug_mode(void *data, MSG_UG_LAUNCH_MODE_E *ug_mode);
136  *@brief this function is used to get viewer ug launched mode
137  *@param[in] data MSG_VIEWER_MAIN_DATA_S structure
138  *@param[out] ug_mode  MSG_UG_LAUNCH_MODE_E mode (framview mode/fullview mode)
139  *@return       return TRUE if it has viewer ug launchmode, else FALSE
140  */
141 MSG_BOOL msg_ui_viewer_get_viewer_ug_mode(void *data, MSG_UG_LAUNCH_MODE_E *ug_mode);
142
143 /*
144  *@fn   msg_ui_viewer_get_viewer_ug(void *data);
145  *@brief this function is used to get viewer ug pointer
146  *@param[in] data MSG_VIEWER_MAIN_DATA_S structure
147  *@return       return viewer ug pointer, else NULL
148  */
149 ui_gadget_h msg_ui_viewer_get_viewer_ug(void *data);
150
151 /*
152  *@fn   msg_ui_viewer_get_main_layout(void *data);
153  *@brief this function is used to get layout_main of viewer
154  *@param[in] data MSG_VIEWER_MAIN_DATA_S structure
155  *@return       return layout_main pointer, else NULL
156  */
157 Evas_Object *msg_ui_viewer_get_main_layout(void *data);
158
159 /*
160  *@fn   msg_ui_viewer_get_bg_layout(void *data);
161  *@brief this function is used to get bg_layout of viewer
162  *@param[in] data MSG_VIEWER_MAIN_DATA_S structure
163  *@return       return bg_layout pointer, else NULL
164  */
165 Evas_Object *msg_ui_viewer_get_bg_layout(void *data);
166
167 Evas_Object *msg_ui_viewer_create_bg(void *data, Evas_Object *parent);
168 Evas_Object *msg_ui_viewer_create_layout_main(Evas_Object *parent, bool indicator);
169
170 void msg_ui_viewer_change_language(void *data);
171
172 /* VIEWER  CALLBACK */
173 Eina_Bool msg_ui_viewer_ug_quit(void *data);
174 void msg_ui_viewer_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv);
175 void msg_ui_viewer_result_cb(ui_gadget_h ug, service_h svc_result_h, void *priv);
176 void msg_ui_viewer_destroy_cb(ui_gadget_h ug, void *priv);
177 #endif  /* __MSG_UI_VIEWER_MAIN_H__*/