vsrv_ndeclaration.h
9.69 KB
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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2008
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*******************************************************************************
* Filename:
* ---------
* vfx_ncenter.h
*
* Project:
* --------
* COSMOS Notification Center
*
* Description:
* ------------
*
*
* Author:
* -------
* -------
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
#ifndef __VSRV_NDECLARATION_H__
#define __VSRV_NDECLARATION_H__
#include "MMIDataType.h"
#include "vrt_base_list.h"
#define NOTI_MEM_POOL_KB (15)
#define NOTI_MEM_POOL_MARGIN_B (20)
#define VSRV_NOTIFICATION_FLAG_AUTO_CLOSE (VSRV_NOTIFICATION_FLAG_AUTO_CLOSE_AFTER_TAP | VSRV_NOTIFICATION_FLAG_AUTO_CLOSE_AFTER_CLEAR | \
VSRV_NOTIFICATION_FLAG_AUTO_CLOSE_AFTER_LAUNCH | VSRV_NOTIFICATION_FLAG_AUTO_CLOSE_AFTER_TERMINATE | \
VSRV_NOTIFICATION_FLAG_AUTO_CLOSE_AFTER_REQUEST_LEAVE)
#define VSRV_NOTIFICATION_FLAG_DEFAULT (VSRV_NOTIFICATION_FLAG_AUTO_CLOSE | VSRV_NOTIFICATION_FLAG_AUTO_LAUNCH)
#define VSRV_NOTIFICATION_FLAG_MASK (VSRV_NOTIFICATION_FLAG_AUTO_CLOSE | VSRV_NOTIFICATION_FLAG_AUTO_LAUNCH | \
VSRV_NOTIFICATION_FLAG_NO_NSS | VSRV_NOTIFICATION_FLAG_NO_CLEAR_BUTTON | \
VSRV_NOTIFICATION_FLAG_NO_FOCUS)
#define VSRV_NOTIFICATION_INVALID_ID (0xFFFFFFFF)
#define VSRV_NGROUP_INVALID_ID (0xFFFFFFFF)
#if defined(__MMI_MAINLCD_320X480__)
#define VSRV_NCELL_DEFAULT_HEIGHT (51)
#elif defined(__MMI_MAINLCD_480X800__)
#define VSRV_NCELL_DEFAULT_HEIGHT (86)
#elif defined(__MMI_MAINLCD_240X320__) || defined(__MMI_MAINLCD_240X400__) || defined(__MMI_MAINLCD_320X240__)
#define VSRV_NCELL_DEFAULT_HEIGHT (45)
#else
#define VSRV_NCELL_DEFAULT_HEIGHT (51)
#endif
// <group DOM_NCenter_VsrvNotificationFlag_Enum>
// This enum is for notification flag
typedef enum
{
VSRV_NOTIFICATION_FLAG_AUTO_CLOSE_AFTER_TAP = 1 << 0, // Close after tap the cell on NCenter (autoLaunch false)
VSRV_NOTIFICATION_FLAG_AUTO_CLOSE_AFTER_CLEAR = 1 << 1, // Close after click the "clear all" button on NCenter
VSRV_NOTIFICATION_FLAG_AUTO_CLOSE_AFTER_LAUNCH = 1 << 2, // Close after launch on NCenter (autoLaunch true)
VSRV_NOTIFICATION_FLAG_AUTO_CLOSE_AFTER_TERMINATE = 1 << 3, // Close after tap "OK" button in the confirm popup on NCenter
VSRV_NOTIFICATION_FLAG_AUTO_CLOSE_AFTER_REQUEST_LEAVE = 1 << 4, // Close after requestLeave(VsrvNotification* noti) called
VSRV_NOTIFICATION_FLAG_AUTO_LAUNCH = 1 << 5, // After tapping a cell in NCenter, send LAUNCH intent to the notification.Otherwise, the service send TAP intent to the notification.
VSRV_NOTIFICATION_FLAG_NO_NSS = 1 << 6, // ignore NSS(notification setting service) on viewers
VSRV_NOTIFICATION_FLAG_NO_CLEAR_BUTTON = 1 << 7, // Hide clear button if only your notification on viewer
VSRV_NOTIFICATION_FLAG_NO_FOCUS = 1 << 8, // Disable key focus on your notification
/* DOM-NOT_FOR_SDK-BEGIN */
//under this line, the flags are internal used only
VSRV_NOTIFICATION_FLAG_STABLE = 1 << 9,
VSRV_NOTIFICATION_FLAG_OLD = 1 << 10,
VSRV_NOTIFICATION_FLAG_END = 1 << 11
/* DOM-NOT_FOR_SDK-END */
}VsrvNotificationFlag;
// <group DOM_NCenter_VsrvNotificationType_Enum>
// This enum is for notification type
typedef enum
{
VSRV_NOTIFICATION_TYPE_BASE, // VsrvNotification
VSRV_NOTIFICATION_TYPE_EVENT, // VsrvNotificationEvent
VSRV_NOTIFICATION_TYPE_ONGOING, // VsrvNotificationOngoing
VSRV_NOTIFICATION_TYPE_CUSTOM, // VsrvNotificationCustom
VSRV_NOTIFICATION_TYPE_END
}VsrvNotificationType;
// <group DOM_NCenter_VsrvNGroupType_Enum>
// This enum is for notification group type
typedef enum
{
VSRV_NGROUP_TYPE_BASE, // VsrvNGroup
VSRV_NGROUP_TYPE_SINGLE_TITLE, // VsrvNGroupSingleTitle
VSRV_NGROUP_TYPE_END
}VsrvNGroupType;
// <group DOM_NCenter_VsrvNStatusType_Enum>
// This enum is for notification activity status
typedef enum
{
VSRV_NSTATUS_CREATE, // create
VSRV_NSTATUS_UPDATE, // update
VSRV_NSTATUS_CLOSE, // close
VSRV_NSTATUS_END
}VsrvNStatusType;
// <group DOM_NCenter_VsrvNIntentType_Enum>
// This enum is for intent type
typedef enum
{
VSRV_NINTENT_TYPE_ENTER, // notification viewers enter
VSRV_NINTENT_TYPE_ENTERED, // notification viewers entered
VSRV_NINTENT_TYPE_EXIT, // notification viewers exit
VSRV_NINTENT_TYPE_EXITED, // notification viewers exited
VSRV_NINTENT_TYPE_LAUNCH, // User tap the notification on Viewer if AutoLaunch is true
VSRV_NINTENT_TYPE_TERMINATE, // User tap the notification on Viewer if AutoLaunch is false
VSRV_NINTENT_TYPE_TAP, // User confirm to terminate APP
VSRV_NINTENT_TYPE_CLEAR, // User click the "clear all" button in notification tab
VSRV_NINTENT_TYPE_CLOSE, // The notification will be closed
VSRV_NINTENT_TYPE_AFTER_REQUEST_LEAVE, // Sent when APP called VappNCenter->requestLeave(notification)
VSRV_NINTENT_TYPE_LANGUAGE_CHANGED, // User changed phone language from setting
VSRV_NINTENT_TYPE_END
}VsrvNIntentType;
// <group DOM_NCenter_VsrvNViewerType_Enum>
// This enum is for notification viewr
typedef enum
{
VSRV_NVIEWER_TYPE_GENERAL = 1 << 0, // for all viewers
VSRV_NVIEWER_TYPE_VSRV_NCENTER = 1 << 1, // VsrvNCenter
VSRV_NVIEWER_TYPE_VAPP_NCENTER = 1 << 2, // VappNCenter
VSRV_NVIEWER_TYPE_VAPP_SCREEN_LOCK = 1 << 3, // VappScreenLock
VSRV_NVIEWER_TYPE_END = 1 << 4
}VsrvNViewerType;
// <group DOM_NCenter_VsrvNotificationCustomCategory_Enum>
// This enum is for custom notification category
typedef enum
{
VSRV_NOTIFICAITON_CUSTOM_CATEGORY_EVENT, // event
VSRV_NOTIFICAITON_CUSTOM_CATEGORY_ONGOING, // ongoing
VSRV_NOTIFICAITON_CUSTOM_CATEGORY_END,
}VsrvNotificationCustomCategory;
typedef U32 VsrvNotificationId;
typedef U32 VsrvNGroupId;
typedef void* vsrv_ngroup_handle;
typedef void* vsrv_notification_handle;
typedef VsrvNGroupId vsrv_ngroup_id;
typedef VsrvNotificationId vsrv_notification_id;
typedef vrt_list_entry_handle vsrv_ngroup_entry;
typedef vrt_list_entry_handle vsrv_notification_entry;
typedef VsrvNGroupType vsrv_ngroup_type;
typedef VsrvNotificationType vsrv_notification_type;
typedef VsrvNViewerType vsrv_nviewer_type;
typedef VsrvNIntentType vsrv_nintent_type;
typedef VsrvNotificationFlag vsrv_notification_flag;
typedef struct
{
VsrvNIntentType type;
VsrvNViewerType viewer;
void* intentData;
}VsrvNIntent;
typedef struct
{
vsrv_nintent_type type;
vsrv_nviewer_type viewer;
void* intentData;
}vsrv_nintent;
typedef void (*vsrv_nitent_funcptr)(vsrv_notification_handle, vsrv_nintent intent, void* userData, U32 userDataSize);
#endif /* __VSRV_NDECLARATION_H__ */