summaryrefslogtreecommitdiff
path: root/src/include/mf-ug-main.h
blob: 1bd12379c046c7984686089fe08623216a498b83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
/*
 * myfile
 *
 * Copyright 2012  Samsung Electronics Co., Ltd
 *
 * Licensed under the Flora License, Version 1.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.tizenopensource.org/license
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */




#ifndef __DEF_MF_UG_MAIN_H_
#define __DEF_MF_UG_MAIN_H_

#define __ARM__

#include <Elementary.h>
#include <Ethumb.h>
#include <glib.h>
#include <Ecore.h>
#include <glib-object.h>
#include <ui-gadget-module.h>
#include <ui-gadget.h>
#include <app.h>
#include <stdbool.h>
#include <drm_client.h>
#include <drm_client_types.h>
#include <media_content.h>
#include <player.h>



#include "mf-ug-dlog.h"
#include "mf-ug-conf.h"
#include "mf-ug-search.h"
/***********	Global Definitions		***********/
#ifndef UG_MODULE_API
#define UG_MODULE_API __attribute__ ((visibility("default")))
#endif

typedef void (*ugCallBack) (void *, Evas_Object *, void *);

typedef struct _ugNaviBar ugNaviBar;

struct _ugNaviBar {
	char *ug_pNaviLabel;
	char *ug_pNaviTitle;
	char *ug_pCurrentPath;
	bool ug_bNaviFlagInUse;
};


typedef struct _ugMainWindow ugMainWindow;
struct _ugMainWindow {
	Evas_Object *ug_pWindow;
	Evas_Object *ug_pBackGround;
	Evas_Object *ug_pTabBackGround;
	Evas_Object *ug_pMainLayout;
	Evas_Object *ug_pNormalPopup;
	Evas_Object *ug_pLabel;
	Evas_Object *ug_pSelectInfoLayout;
	Evas_Object *ug_pRadioGroup;
	Evas_Object *ug_pTabBar;
	Evas_Object *ug_pTabLayout;

	Evas_Object *ug_pNaviBar;
	Evas_Object *ug_pNaviLayout;
	Evas_Object *ug_pContent;
	Evas_Object *ug_pNaviCtrlBar;

	Evas_Object *ug_pEditField;
	Evas_Object *ug_pEntry;

	Elm_Object_Item *ug_pPreNaviItem;
	Elm_Object_Item *ug_pNaviItem;
	Eina_List *ug_pNaviBarList;
};


typedef struct _ugStatus ugStatus;
struct _ugStatus {
	GString *ug_pPath;
	int ug_iState;
	int ug_iSortType;
	int ug_iRadioOn;
	int ug_iMmcFlag;
	int ug_iCtrlBarType;
	int ug_iRadioValue;	/** current the radio box selected item value **/
	int ug_iSelectedSortType;
	int ug_iMore;
	int ug_haptic_handle;
	bool ug_bAudioPlayFlag;
	bool ug_bInstallFlag;
	bool ug_bSettingEntry;
	bool ug_bInSettingView;
	bool ug_bMassStorageFlag;
	bool ug_bNoContentFlag;
	bool ug_bCancelDisableFlag;
	bool ug_b_NaviPushFlag;
	int  ug_iThemeType;
	char *ug_pUpper_folder;
	bool ug_bUpperFlag;
	Elm_Genlist_Item_Class ug_itc;
	Elm_Genlist_Item_Class ug_topitc;
	Elm_Genlist_Item_Class ug_separtor_no_bottom_line_itc;
	Elm_Genlist_Item_Class ug_separtor_with_bottom_line_itc;
	Elm_Genlist_Item_Class ug_normalitc;
	Elm_Genlist_Item_Class ug_editfileditc;
	Elm_Genlist_Item_Class ug_editfiledUpperSeperatoritc;
	Elm_Genlist_Item_Class ug_editfiledBottomSeperatoritc;
	Elm_Genlist_Item_Class ug_newfolderitec;
	Elm_Genlist_Item_Class ug_pathinfoitec;
#ifdef	UG_THUMB_REAL_TIME_UPDATE
	Ecore_Timer *ug_pThumbUpdateTimer;
#endif
	Evas_Object *ug_pRadioGroup;
	mf_search_handle search_handler;

	Eina_List *search_result_list;
	Ecore_Timer *vibration_timer;
	Ecore_Timer *callback_timer;
	const char *callback_label;
};


typedef struct _ugUiGadget ugUiGadget;
struct _ugUiGadget {
	int ug_iFilterMode;
	int ug_iSelectMode;
	int ug_iMarkedMode;
	int ug_iDrmFilterMode;
	int ug_iImportMode;
	unsigned long ug_iFileFilter;
	int ug_iDrmFilter;
	char *ug_pExtension;
	Eina_List *ug_pDirList;
	Eina_List *ug_pFilterList;
	Eina_List *ug_pMultiSelectFileList;
	Ecore_Pipe *ug_pInotifyPipe;
	Ecore_Pipe *ug_pSyncPipe;
};

typedef struct _ugDrmInfo ugDrmInfo;
struct _ugDrmInfo {
	int version;
	int constraint_type;
	char validity[DRM_MESSAGE_LEN];
	char description[DRM_MESSAGE_LEN];
	bool forward;
};


typedef struct _ugListPlay ugListPlay;
struct _ugListPlay {
	char *ug_pPlayFilePath;
	player_h ug_Player;
	int ug_iPlayState;
	bool ug_bDrmContentCanPlay;
	bool ug_bDrmconsumption;
	ugDrmInfo ug_DrmInfo;
};


typedef struct _ugData ugData;
struct _ugData {
	ugMainWindow ug_MainWindow;
	ugStatus ug_Status;
	ugUiGadget ug_UiGadget;
	ugListPlay ug_ListPlay;
	ui_gadget_h ug;
};
Evas_Object *mf_ug_main_tab_layout_create(Evas_Object *parent);
Evas_Object *mf_ug_main_create_bg(Evas_Object *win);


#endif /* __DEF_MYFILE_H_ */