2 * Copyright 2012 Samsung Electronics Co., Ltd
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
8 * http://floralicense.org/license
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.
17 #ifndef __MSG_UI_VIEWER_MAIN_H__
18 #define __MSG_UI_VIEWER_MAIN_H__
20 /*==================================================================================================
22 *==================================================================================================*/
24 #include "msg-ui-viewer-types.h"
25 #include "msg-ui-util.h"
27 #include "msg-ui-viewer-drm-list.h"
28 #include "msg-ui-viewer-play-view.h"
30 #include <Elementary.h>
31 #include <ui-gadget-module.h>
34 /*==================================================================================================
36 *==================================================================================================*/
37 /*View control CMD defines*/
38 #define MSG_VIEWER_VIEW_CMD_NONE 0
39 #define MSG_VIEWER_VIEW_CMD_PLAY 0x01
41 /*==================================================================================================
43 *==================================================================================================*/
45 MSG_VIEWER_PLAYER_VIEW,
46 MSG_VIEWER_DRM_LIST_VIEW,
47 } MSG_VIEWER_VIEW_MODE_E;
53 } MSG_UG_LAUNCH_MODE_E;
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;
61 /*==================================================================================================
63 *==================================================================================================*/
64 typedef struct _MSG_VIEWER_MAIN_DATA {
65 ui_gadget_h viewer_ug;
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*/
69 Evas_Object *main_window;
70 Evas_Object *layout_main;
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*/
74 msg_handle_t msgHandle; /*ipc handler between viewer and MF*/
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 */
82 MSG_UG_LAUNCH_MODE_E ug_launch_mode; /*This is a launching ug-mode of viewer, frameview or fullview*/
84 MSG_VIEWER_VIEW_MODE_E view_mode;
85 MSG_DRM_LIST_DATA_S *drm_list_view;
86 MSG_PLAY_DATA_S *player_view;
88 bool msg_box_viewer; /* TRUE if viewer is launched from message box */
90 Ecore_Idler *del_idler;
91 Eina_List* drm_list;/*set invalid ro drm content*/
92 } MSG_VIEWER_MAIN_DATA_S;
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);
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
107 void msg_ui_viewer_set_loaded_ug(void *data, ui_gadget_h loaded_ug);
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
115 void msg_ui_viewer_set_navi_frame(void *data, Evas_Object *navi_frame);
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
123 void msg_ui_viewer_set_smilhandle(void *data, void *smilhandle);
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
132 MSG_BOOL msg_ui_viewer_get_viewer_launchmode(void *data, MSG_VIEWER_LAUNCH_VIEW_MODE_E *launchmode);
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
141 MSG_BOOL msg_ui_viewer_get_viewer_ug_mode(void *data, MSG_UG_LAUNCH_MODE_E *ug_mode);
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
149 ui_gadget_h msg_ui_viewer_get_viewer_ug(void *data);
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
157 Evas_Object *msg_ui_viewer_get_main_layout(void *data);
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
165 Evas_Object *msg_ui_viewer_get_bg_layout(void *data);
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);
170 void msg_ui_viewer_change_language(void *data);
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__*/