f0c0c82797c77b04b16e09f5a921d24afb5a89d6
[platform/framework/native/shell.git] / inc / FShellNotificationManager.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file                FShellNotificationManager.h
20  * @brief               This is the header file for the %NotificationManager class.
21  *
22  * This header file contains the declarations of the %NotificationManager class.
23  */
24
25 #ifndef _FSHELL_NOTIFICATION_MANAGER_H_
26 #define _FSHELL_NOTIFICATION_MANAGER_H_
27
28 #include <FBase.h>
29 #include <FAppTypes.h>
30
31 namespace Tizen { namespace Base
32 {
33 namespace Collection
34 {
35 class IMap;
36 }
37 } }
38
39 namespace Tizen { namespace Shell
40 {
41
42 class NotificationRequest;
43 class IBadgeEventListener;
44
45 /**
46  * The maximum length of a notification message.
47  *
48  * @since       2.0
49  */
50 static const int MAX_NOTIFICATION_MESSAGE_LENGTH = 1024;
51
52 /**
53  * The maximum length of the launch arguments for a notification in bytes.
54  *
55  * @since       2.0
56  */
57 static const int MAX_NOTIFICATION_LAUNCH_ARGUMENTS_LENGTH = 1024;
58
59 /**
60  * The maximum length of a notification badge number.
61  *
62  * @since       2.0
63  */
64 static const int MAX_NOTIFICATION_BADGE_NUMBER = 999;
65
66 /**
67  * The maximum length of a title text.
68  *
69  * @since       2.0
70  */
71 static const int MAX_NOTIFICATION_TITLE_LENGTH = 1024;
72
73 /**
74  * @enum        OngoingActivityType
75  *
76  * Defines the notification type for an ongoing activity.
77  *
78  * @since       2.0
79  */
80 enum OngoingActivityType
81 {
82         ONGOING_ACTIVITY_TYPE_TEXT = 1,                 /**< The progress is indicated with a text */
83         ONGOING_ACTIVITY_TYPE_PROGRESS_BYTE,    /**< The progress is indicated with the number of bytes */
84         ONGOING_ACTIVITY_TYPE_PROGRESS_PERCENTAGE       /**< The progress is indicated with percentage */
85 };
86
87 /**
88  * @enum        NotificationStyle
89  *
90  * Defines the notification style.
91  *
92  * @since       2.1
93  */
94 enum NotificationStyle
95 {
96         NOTIFICATION_STYLE_NORMAL = 1,          /**< The notification is normal style */
97         NOTIFICATION_STYLE_THUMBNAIL            /**< The notification is thumbnail style */
98 };
99
100
101 /**
102  * @class               NotificationManager
103  * @brief               This class provides methods to alert the user about a notification.
104  *
105  * @since       2.0
106  *
107  * @final       This class is not intended for extension.
108  *
109  * The %NotificationManager class provides methods to alert the user about notifications.
110  * @n
111  * For more information about the class features, see <a href="../org.tizen.native.appprogramming/html/guide/shell/notifications.htm">Notifications</a>.
112  *
113  * The following example demonstrates how to use the %NotificationManager class.
114  *
115  * @code
116  *      void
117  *      MyClass::NotificationSample(void)
118  *      {
119  *              int badgeNumber;
120  *              NotificationManager notiMgr;
121  *              notiMgr.Construct();
122  *              badgeNumber = notiMgr.GetBadgeNumber();
123  *              badgeNumber++;
124  *              notiMgr.Notify(L"A new message has arrived.", badgeNumber);
125  *      }
126  * @endcode
127  *
128  */
129 class _OSP_EXPORT_ NotificationManager
130         : public Tizen::Base::Object
131 {
132
133 public:
134         /**
135          * This is the default constructor for this class.
136          *
137          * @since       2.0
138          */
139         NotificationManager(void);
140
141         /**
142          * This destructor overrides Tizen::Base::Object::~Object().
143          *
144          * @since       2.0
145          */
146         virtual ~NotificationManager(void);
147
148         /**
149          * Initializes this instance of %NotificationManager.
150          *
151          * @since       2.0
152          *
153          * @return      An error code
154          * @exception   E_SUCCESS       The method is successful.
155          */
156         result Construct(void);
157
158         /**
159          * Gets the current badge number of an application icon.
160          *
161          * @since       2.0
162          * @privlevel   public
163          * @privilege   %http://tizen.org/privilege/notification
164          *
165          * @return              The current badge number if the method is successful, @n
166          *                              else @c -1 if the method fails
167          * @exception   E_SUCCESS                       The method is successful.
168          * @exception   E_OPERATION_FAILED      The operation has failed.
169          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
170          * @remarks The specific error code can be accessed using the GetLastResult() method.
171          *
172          */
173         int GetBadgeNumber(void);
174
175         /**
176          * Notifies the user who has @c badgeNumber as a badge number.
177          *
178          * @since       2.0
179          * @privlevel   public
180          * @privilege   %http://tizen.org/privilege/notification
181          *
182          * @return              An error code
183          * @param[in]   badgeNumber                     The badge number
184          * @exception   E_SUCCESS                       The method is successful.
185          * @exception   E_INVALID_ARG           The specified input parameter is invalid, or
186          *                                  the specified @c badgeNumber is less than @c 0.
187          * @exception   E_OPERATION_FAILED      The operation has failed.
188          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
189          */
190         result Notify(int badgeNumber);
191
192         /**
193          * Notifies the user with a message.
194          *
195          * @since       2.0
196          * @privlevel   public
197          * @privilege   %http://tizen.org/privilege/notification
198          *
199          * @return              An error code
200          * @param[in]   messageText                     The notification message
201          * @exception   E_SUCCESS                       The method is successful.
202          * @exception   E_INVALID_ARG           The specified input parameter is invalid, or
203          *                                                                      the length of @c messageText is greater than Shell::MAX_NOTIFICATION_MESSAGE_LENGTH.
204          * @exception   E_OPERATION_FAILED      The operation has failed.
205          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
206          */
207         result Notify(const Tizen::Base::String& messageText);
208
209         /**
210          * Notifies the user who has @c badgeNumber as badge number with a message.
211          *
212          * @since       2.0
213          * @privlevel   public
214          * @privilege   %http://tizen.org/privilege/notification
215          *
216          * @return              An error code
217          * @param[in]   messageText                     The notification message
218          * @param[in]   badgeNumber                     The badge number
219          * @exception   E_SUCCESS                       The method is successful.
220          * @exception   E_INVALID_ARG           The specified @c badgeNumber is less than @c 0, or
221          *                                                                      the length of @c messageText is greater than Shell::MAX_NOTIFICATION_MESSAGE_LENGTH.
222          * @exception   E_OPERATION_FAILED      The operation has failed.
223          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
224          */
225         result Notify(const Tizen::Base::String& messageText, int badgeNumber);
226
227         /**
228          * Notifies the user who has @c badgeNumber as badge number with a message. @n
229          * If the user selects this message, @c launchArguments is delivered to the application. @n
230          * @c launchArguments is delivered as the value of the http://tizen.org/appcontrol/data/notification key
231          * for IAppControlProviderEventListener::OnAppControlRequestReceived().
232          *
233          * @since       2.0
234          * @privlevel   public
235          * @privilege   %http://tizen.org/privilege/notification
236          *
237          * @return              An error code
238          * @param[in]   messageText                     The notification message
239          * @param[in]   badgeNumber                     The badge number
240          * @param[in]   launchArguments         The message for the application
241          * @exception   E_SUCCESS                       The method is successful.
242          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
243          *                                                                      - A specified input parameter is invalid. @n
244          *                                                                      - The specified @c badgeNumber is less than @c 0. @n
245          *                                                                      - The length of the specified @c messageText is greater than Shell::MAX_NOTIFICATION_MESSAGE_LENGTH. @n
246          *                                                                      - The length of the specified @c launchArguments is greater than Shell::MAX_NOTIFICATION_LAUNCH_ARGUMENTS_LENGTH.
247          * @exception   E_OPERATION_FAILED      The operation has failed.
248          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
249          */
250         result Notify(const Tizen::Base::String& messageText, int badgeNumber, const Tizen::Base::String& launchArguments);
251
252         /**
253          * Notifies the user with a request message. @n
254          * The notification request may have various pieces of information such as alert text, title text, launch arguments, and so on.
255          *
256          * @since       2.0
257          * @privlevel   public
258          * @privilege   %http://tizen.org/privilege/notification
259          *
260          * @return              An error code
261          * @param[in]   request                 The notification request
262          * @exception   E_SUCCESS               The method is successful.
263          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
264          *                                                                      - The specified @c request does not have valid badge number value in @c request. @n
265          *                                                                      - The specified @c request does not have alert text in @c request. @n
266          *                                                                      - The specified @c request has invalid icon file path in @c request.
267          * @exception   E_OPERATION_FAILED      The operation has failed.
268          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
269          */
270         result Notify(const NotificationRequest& request);
271
272         /**
273          * The user who is identified with the @c appId is notified with a request message. @n
274          * The request may have various pieces of information such as alert text, title text, launch arguments, and so on.
275          *
276          * @since       2.0
277          *
278          * @privlevel   public
279          * @privilege   %http://tizen.org/privilege/notification
280          *
281          * @return              An error code
282          * @param[in]   appId                           The application ID
283          * @param[in]   request                 The notification request
284          * @exception   E_SUCCESS               The method is successful.
285          * @exception   E_APP_NOT_INSTALLED     The application is not installed.
286          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
287          *                                                                      - The specified @c request does not have valid badge number value in @c request. @n
288          *                                                                      - The specified @c request does not have alert text in @c request. @n
289          *                                                                      - The specified @c request has invalid icon file path in @c request.
290          * @exception   E_OPERATION_FAILED      The operation has failed.
291          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
292          */
293         result NotifyByAppId(const Tizen::App::AppId& appId, const NotificationRequest& request);
294
295         /**
296          * Removes the notification message.
297          *
298          * @since       2.0
299          * @privlevel   public
300          * @privilege   %http://tizen.org/privilege/notification
301          *
302          * @return              An error code
303          * @exception   E_SUCCESS       The method is successful.
304          * @exception   E_OPERATION_FAILED      The operation has failed.
305          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
306          * @remarks      This method returns @c E_SUCCESS when there is no outstanding notification.
307          */
308         result RemoveNotification(void);
309
310         /**
311          * Removes the notification message on behalf of the specified application.
312          *
313          * @since       2.0
314          *
315          * @privlevel   public
316          * @privilege   %http://tizen.org/privilege/notification
317          *
318          * @return              An error code
319          * @param[in]   appId                           The application ID
320          * @exception   E_SUCCESS                       The method is successful.
321          * @exception   E_APP_NOT_INSTALLED     The application is not installed.
322          * @exception   E_OPERATION_FAILED      The operation has failed.
323          * @exception   E_PRIVILEGE_DENIED  The application did not have the privilege to call this method.
324          * @remarks             Although there is no outstanding notification for the calling application, this method returns @c E_SUCCESS.
325          */
326         result RemoveNotificationByAppId(const Tizen::App::AppId& appId);
327
328         /**
329          * Notifies the user about the ongoing activity using a message.
330          *
331          * @since       2.0
332          * @privlevel   public
333          * @privilege   %http://tizen.org/privilege/notification
334          *
335          * @return              An error code
336          * @param[in]   messageText                     The notification message
337          * @exception   E_SUCCESS                       The method is successful.
338          * @exception   E_INVALID_ARG           The specified input parameter is invalid, or
339          *                                                                      the length of @c messageText is greater than Shell::MAX_NOTIFICATION_MESSAGE_LENGTH.
340          * @exception   E_OPERATION_FAILED      The operation has failed.
341          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
342          */
343         result NotifyOngoingActivity(const Tizen::Base::String& messageText);
344
345         /**
346          * Notifies the user about the ongoing activity using a message. @n
347          * If the user selects the message, @c launchArguments is delivered to the application. @n
348          * @c launchArguments is delivered as the value of the http://tizen.org/appcontrol/data/notification key
349          * for IAppControlProviderEventListener::OnAppControlRequestReceived().
350          *
351          * @since       2.0
352          * @privlevel   public
353          * @privilege   %http://tizen.org/privilege/notification
354          *
355          * @return              An error code
356          * @param[in]   messageText                     The notification message
357          * @param[in]  launchArguments  The launch arguments for the application
358          * @exception   E_SUCCESS                       The method is successful.
359          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
360          *                                                                      - A specified input parameter is invalid. @n
361          *                                                                      - The length of the specified @c messageText is greater than Shell::MAX_NOTIFICATION_MESSAGE_LENGTH. @n
362          *                                                                      - The length of the specified @c launchArguments is greater than Shell::MAX_NOTIFICATION_LAUNCH_ARGUMENTS_LENGTH.
363          * @exception   E_OPERATION_FAILED      The operation has failed.
364          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
365          */
366         result NotifyOngoingActivity(const Tizen::Base::String& messageText, const Tizen::Base::String& launchArguments);
367
368         /**
369          * Notifies the user about the ongoing activity using a request message. @n
370          * The request may have various pieces of information such as alert text, title text, launch arguments, and so on.
371          *
372          * @since       2.0
373          * @privlevel   public
374          * @privilege   %http://tizen.org/privilege/notification
375          *
376          * @return              An error code
377          * @param[in]   request                 The notification request
378          * @exception   E_SUCCESS                       The method is successful.
379          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
380          *                                                                      - The specified @c request does not have either alert text or progress value in @c request. @n
381          *                                                                      - The specified @c request has invalid icon file path in @c request.
382          * @exception   E_OPERATION_FAILED      The operation has failed.
383          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
384          */
385         result NotifyOngoingActivity(const NotificationRequest& request);
386
387         /**
388          * Notifies the user about the ongoing activity using a request message. @n
389          * The request may have various information like alert text, title text, launch arguments, and so on.
390          *
391          * @since       2.0
392          *
393          * @privlevel   public
394          * @privilege   %http://tizen.org/privilege/notification
395          *
396          * @return              An error code
397          * @param[in]   appId                           The application ID
398          * @param[in]   request                 The notification request
399          * @exception   E_SUCCESS                       The method is successful.
400          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
401          *                                                                      - The specified @c request does not have either alert text or progress value in @c request. @n
402          *                                                                      - The specified @c request has invalid icon file path in @c request.
403          * @exception   E_APP_NOT_INSTALLED     The application is not installed.
404          * @exception   E_OPERATION_FAILED      The operation has failed.
405          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
406          */
407         result NotifyOngoingActivityByAppId(const Tizen::App::AppId& appId, const NotificationRequest& request);
408
409         /**
410          * Removes the notification message for the ongoing activity.
411          *
412          * @since       2.0
413          * @privlevel   public
414          * @privilege   %http://tizen.org/privilege/notification
415          *
416          * @return              An error code
417          * @exception   E_SUCCESS                       The method is successful.
418          * @exception   E_OPERATION_FAILED      The operation has failed.
419          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
420          * @remarks      This method returns @c E_SUCCESS when there is no outstanding notification.
421          */
422         result RemoveOngoingActivityNotification(void);
423
424         /**
425          * Removes the notification message for ongoing activity on behalf of the specified application.
426          *
427          * @since       2.0
428          *
429          * @privlevel   public
430          * @privilege   %http://tizen.org/privilege/notification
431          *
432          * @return              An error code
433          * @param[in]   appId                           The application ID
434          * @exception   E_SUCCESS                       The method is successful.
435          * @exception   E_APP_NOT_INSTALLED     The application is not installed.
436          * @exception   E_OPERATION_FAILED      The operation has failed.
437          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
438          * @remarks             Although there is no outstanding notification for the calling application, this method returns @c E_SUCCESS.
439          */
440         result RemoveOngoingActivityNotificationByAppId(const Tizen::App::AppId& appId);
441
442         /**
443          * Gets the badge number of the application icon mentioned in the @c appId.
444          *
445          * @since       2.0
446          * @privlevel   public
447          * @privilege   %http://tizen.org/privilege/notification
448          *
449          * @return              The current badge number if the method is successful, @n
450                                         else @c -1 if the method fails
451          * @param[in]   appId                           The application ID
452          * @exception   E_SUCCESS                       The method is successful.
453          * @exception   E_OPERATION_FAILED      The operation has failed.
454          * @exception   E_APP_NOT_INSTALLED     The application is not installed.
455          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
456          * @remarks The specific error code can be accessed using the GetLastResult() method. @n
457          *
458          */
459         int GetBadgeNumberByAppId(const Tizen::App::AppId& appId);
460
461         /**
462          * Notifies the user with a message. It will disappear in a few seconds.
463          *
464          * @since       2.1
465          * @privlevel   public
466          * @privilege   %http://tizen.org/privilege/notification
467          *
468          * @return              An error code
469          * @param[in]   messageText                     The notification message
470          * @exception   E_SUCCESS                       The method is successful.
471          * @exception   E_INVALID_ARG           The specified input parameter is invalid.
472          * @exception   E_OPERATION_FAILED      The operation has failed.
473          * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
474          * @remarks             Message is displayed in the status bar.
475          */
476         result NotifyTextMessage(const Tizen::Base::String& messageText);
477
478         /**
479          * Notifies the user using a request message and try implicit AppControl resolution when the user selects the message on the notification area. @n
480          * The request may have various information like alert text, title text, launch arguments, and so on.
481          *
482          * @since               2.1
483          * @privlevel   public
484          * @privilege   %http://tizen.org/privilege/notification
485          *
486          * @return              An error code
487          * @param[in]   operationId                     The operation ID
488          * @param[in]   pUriData                        A pointer to the URI data
489          * @param[in]   pDataType                       A pointer to the MIME type (RFC 2046) data
490          * @param[in]   pExtraData                      A pointer to an argument map of key and value pair where the key is of type Tizen::Base::String and the value is of type Tizen::Base::String to deliver to the resolved application @n
491          *                                                                      The maximum size is 16 kilo bytes.
492          * @param[in]   request                         The notification request
493          * @exception   E_SUCCESS                       The method is successful.
494          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
495          *                                                                      - The specified @c request does not have valid badge number value in @c request. @n
496          *                                                                      - The specified @c request does not have alert text in @c request. @n
497          *                                                                      - The specified @c request has invalid icon file path in @c request.
498          * @exception   E_OPERATION_FAILED      The operation has failed.
499          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
500          * @remarks             For more information on the implicit AppControl resolution, see <a href="../org.tizen.native.appprogramming/html/guide/app/resolving_appcontrols.htm">Resolving AppControls</a>.
501          *
502          */
503         result NotifyByAppControl(const Tizen::Base::String& operationId, const Tizen::Base::String* pUriData, const Tizen::Base::String* pDataType,
504                                                           const Tizen::Base::Collection::IMap* pExtraData, const NotificationRequest& request);
505
506         /**
507          * Notifies the user about the ongoing activity using a request message and try implicit AppControl resolution when the user selects the message on the notification area. @n
508          * The request may have various information like alert text, title text, launch arguments, and so on.
509          *
510          * @since               2.1
511          * @privlevel   public
512          * @privilege   %http://tizen.org/privilege/notification
513          *
514          * @return              An error code
515          * @param[in]   operationId                     The operation ID
516          * @param[in]   pUriData                        A pointer to the URI data
517          * @param[in]   pDataType                       A pointer to the MIME type (RFC 2046) data
518          * @param[in]   pExtraData                      A pointer to an argument map of key and value pair where the key is of type Tizen::Base::String and the value is of type Tizen::Base::String to deliver to the resolved application @n
519          *                                                                      The maximum size is 16 kilo bytes.
520          * @param[in]   request                         The notification request
521          * @exception   E_SUCCESS                       The method is successful.
522          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
523          *                                                                      - The specified @c request does not have either alert text or progress value in @c request. @n
524          *                                                                      - The specified @c request has invalid icon file path in @c request.
525          * @exception   E_OPERATION_FAILED      The operation has failed.
526          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
527          * @remarks             For more information on the implicit AppControl resolution, see <a href="../org.tizen.native.appprogramming/html/guide/app/resolving_appcontrols.htm">Resolving AppControls</a>.
528          */
529         result NotifyOngoingActivityByAppControl(const Tizen::Base::String& operationId, const Tizen::Base::String* pUriData, const Tizen::Base::String* pDataType,
530                                                                                          const Tizen::Base::Collection::IMap* pExtraData, const NotificationRequest& request);
531
532         /**
533      * Adds an IBadgeEventListener event listener to the NotificationManager @n
534      * The listener gets notified when a badge number is updated. @n
535      *
536      * @since            2.1
537      *
538      * @return          An error code
539      * @param[in]       listener                                        The listener to be added.
540      * @exception       E_SUCCESS                                       The method is successful.
541      * @exception       E_OBJ_ALREADY_EXIST                     The listener is already added.
542      * @exception       E_SYSTEM                                        The method cannot proceed due to a severe system error.
543      *
544      * @see              NotificationManager::Notify()
545      * @remarks          Internally Platform does not have the ownership of this pointer, So caller should manage the listener object properly.
546      */
547     result AddBadgeEventListener(IBadgeEventListener& listener);
548
549         /**
550      * Removes an IBadgeEventListener event listener from the NotificationManager @n
551      *
552      * @since            2.1
553      *
554      * @return      An error code
555      * @param[in]       listener                        The listener to be removed.
556      * @exception       E_SUCCESS           The method is successful.
557      * @exception       E_OBJ_NOT_FOUND         The listner is not found.
558      * @exception       E_SYSTEM            The method cannot proceed due to a severe system error.
559      *
560      * @remarks          Internally Platform does not have the ownership of this pointer, So caller should manage the listener object properly.
561      */
562         result RemoveBadgeEventListener(IBadgeEventListener& listener);
563
564 private:
565         /**
566          * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
567          *
568          * @since       2.0
569          */
570         NotificationManager(const NotificationManager& rhs);
571
572         /**
573          * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
574          *
575          * @since       2.0
576          */
577         NotificationManager& operator =(const NotificationManager& rhs);
578
579 private:
580         class _NotificationManagerImpl * __pNotificationManagerImpl;
581
582         friend class _NotificationManagerImpl;
583 }; // NotificationManager
584
585 } } // Tizen::App
586
587 #endif // _FSHELL_NOTIFICATION_MANAGER_H_