sync with tizen_2.0
[platform/framework/native/appfw.git] / inc / FAppNotificationManager.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                FAppNotificationManager.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 _FAPP_NOTIFICATION_MANAGER_H_
26 #define _FAPP_NOTIFICATION_MANAGER_H_
27
28 #include <FBase.h>
29 #include <FAppTypes.h>
30
31 namespace Tizen { namespace App
32 {
33
34 /**
35  * @if OSPDEPREC
36  * The maximum length of the notification message.
37  *
38  * @brief               <i> [Deprecated] </i>
39  *
40  * @deprecated  This variable is deprecated. Instead of using this variable, use the Tizen::Shell::MAX_NOTIFICATION_MESSAGE_LENGTH variable.
41  * @since       2.0
42  * @endif
43  */
44 static const int MAX_NOTIFICATION_MESSAGE_LENGTH = 127;
45
46 /**
47  * @if OSPDEPREC
48  * The maximum length of the launch arguments for the notification in bytes.
49  *
50  * @brief               <i> [Deprecated] </i>
51  *
52  * @deprecated  This variable is deprecated. Instead of using this variable, use the Tizen::Shell::MAX_NOTIFICATION_LAUNCH_ARGUMENTS_LENGTH variable.
53  * @since               2.0
54  * @endif
55  */
56 static const int MAX_NOTIFICATION_LAUNCH_ARGUMENTS_LENGTH = 1024;
57
58 /**
59  * @if OSPDEPREC
60  * The maximum length of the notification badge number.
61  *
62  * @brief               <i> [Deprecated] </i>
63  *
64  * @deprecated  This variable is deprecated. Instead of using this variable, use the Tizen::Shell::MAX_NOTIFICATION_BADGE_NUMBER variable.
65  * @since       2.0
66  * @endif
67  */
68 static const int MAX_NOTIFICATION_BADGE_NUMBER = 999;
69
70 /*
71  * The maximum length of the title text.
72  *
73  * @since       2.0
74  */
75 static const int MAX_NOTIFICATION_TITLE_LENGTH = 1024;
76
77 /*
78  * @enum        OngoingActivityType
79  *
80  * Defines the ongoing activity notification type.
81  *
82  * @since       2.0
83  */
84 enum OngoingActivityType
85 {
86         ONGOING_ACTIVITY_TYPE_TEXT = 1,                 /**< The text type */
87         ONGOING_ACTIVITY_TYPE_PROGRESS_BYTE,    /**< The progress type in byte */
88         ONGOING_ACTIVITY_TYPE_PROGRESS_PERCENTAGE       /**< The progress type in percentage */
89 };
90
91
92 /**
93  * @if OSPDEPREC
94  * @class               NotificationManager
95  * @brief               <i> [Deprecated] </i> This class provides methods to alert the user about a notification.
96  *
97  * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
98  * @since       2.0
99  *
100  * @final       This class is not intended for extension.
101  *
102  * The %NotificationManager class provides methods to alert the user about a notification.
103  * @n
104  * For more information about the class features, see <a href="../org.tizen.native.appprogramming/html/guide/app/notifications.htm">Notifications</a>.
105  *
106  * The following example demonstrates how to use the %NotificationManager class.
107  *
108  * @code
109  *
110  *      result
111  *      MyClass::NotificationSample(void)
112  *      {
113  *              int badgeNumber;
114  *              NotificationManager* pNotiMgr = new NotificationManager();
115  *              pNotiMgr->Construct();
116  *              badgeNumber = pNotiMgr->GetBadgeNumber();
117  *              badgeNumber++;
118  *              pNotiMgr->Notify(L"A new message has arrived.", badgeNumber);
119  *
120  *      }
121  *
122  * @endcode
123  * @endif
124  */
125 class _OSP_EXPORT_ NotificationManager
126         : public Tizen::Base::Object
127 {
128
129 public:
130         /**
131          * @if OSPDEPREC
132          * This is the default constructor for this class.
133          *
134          * @brief               <i> [Deprecated] </i>
135          *
136          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
137          * @since       2.0
138          * @endif
139          */
140         NotificationManager(void);
141
142         /**
143          * @if OSPDEPREC
144          * This destructor overrides Tizen::Base::Object::~Object().
145          *
146          * @brief               <i> [Deprecated] </i>
147          *
148          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
149          * @since       2.0
150          * @endif
151          */
152         virtual ~NotificationManager(void);
153
154         /**
155          * @if OSPDEPREC
156          * Initializes this instance of %NotificationManager.
157          *
158          * @brief               <i> [Deprecated] </i>
159          *
160          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
161          * @since       2.0
162          *
163          * @return              An error code
164          * @exception   E_SUCCESS               The method is successful.
165          * @exception   E_SYSTEM                A system error has occurred.
166          * @exception   E_OUT_OF_MEMORY The memory is insufficient.
167          * @endif
168          */
169         result Construct(void);
170
171         /**
172          * @if OSPDEPREC
173          * Gets the current badge number of the application icon.
174          *
175          * @brief               <i> [Deprecated] </i>
176          *
177          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
178          * @since       2.0
179          * @privilege   %http://tizen.org/privilege/notification
180          *
181          * @return              The current badge number
182          * @exception   E_SUCCESS                       The method is successful.
183          * @exception   E_SYSTEM                        A system error has occurred.
184          * @exception   E_OBJ_NOT_FOUND     The application is not installed.
185          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
186          * @remarks The specific error code can be accessed using the GetLastResult() method. @n
187          *          In case of failure, this method returns @c -1.
188          * @endif
189          */
190         int GetBadgeNumber(void);
191
192         /**
193          * @if OSPDEPREC
194          * Notifies the user using a badge number.
195          *
196          * @brief               <i> [Deprecated] </i>
197          *
198          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
199          * @since       2.0
200          * @privilege   %http://tizen.org/privilege/notification
201          *
202          * @return              An error code
203          * @param[in]   badgeNumber                     The badge number
204          * @exception   E_SUCCESS                       The method is successful.
205          * @exception   E_INVALID_ARG           The specified input parameter is invalid, or
206          *                                  the specified @c badgeNumber is less than @c 0.
207          * @exception   E_SYSTEM                        A system error has occurred.
208          * @exception   E_INVALID_OPERATION     The type of application calling this method is invalid as per the %Tizen platform policy.
209          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
210          * @endif
211          */
212         result Notify(int badgeNumber);
213
214         /**
215          * @if OSPDEPREC
216          * Notifies the user using a message.
217          *
218          * @brief               <i> [Deprecated] </i>
219          *
220          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
221          * @since       2.0
222          * @privilege   %http://tizen.org/privilege/notification
223          *
224          * @return              An error code
225          * @param[in]   messageText                     The notification message
226          * @exception   E_SUCCESS                       The method is successful.
227          * @exception   E_INVALID_ARG           The specified input parameter is invalid, or
228          *                                                                      the length of @c messageText is greater than App::MAX_NOTIFICATION_MESSAGE_LENGTH.
229          * @exception   E_SYSTEM                        A system error has occurred.
230          * @exception   E_INVALID_OPERATION     The type of application calling this method is invalid as per the %Tizen platform policy.
231          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
232          * @endif
233          */
234         result Notify(const Tizen::Base::String& messageText);
235
236         /**
237          * @if OSPDEPREC
238          * Notifies the user using a message and badge number.
239          *
240          * @brief               <i> [Deprecated] </i>
241          *
242          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
243          * @since       2.0
244          * @privilege   %http://tizen.org/privilege/notification
245          *
246          * @return              An error code
247          * @param[in]   messageText                     The notification message
248          * @param[in]   badgeNumber                     The badge number
249          * @exception   E_SUCCESS                       The method is successful.
250          * @exception   E_INVALID_ARG           The specified @c badgeNumber is less than @c 0, or
251          *                                                                      the length of @c messageText is greater than App::MAX_NOTIFICATION_MESSAGE_LENGTH.
252          * @exception   E_SYSTEM                        A system error has occurred.
253          * @exception   E_INVALID_OPERATION     The type of application calling this method is invalid as per the %Tizen platform policy.
254          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
255          * @endif
256          */
257         result Notify(const Tizen::Base::String& messageText, int badgeNumber);
258
259         /**
260          * @if OSPDEPREC
261          * Notifies the user using a message and badge number. @n
262          * If the user checks the message, @c launchArguments is delivered to the application. @n
263          * @c launchArguments is delivered as the value of the http://tizen.org/appcontrol/data/notification key
264          * for IAppControlProviderEventListener::OnAppControlRequestReceived().
265          *
266          * @brief               <i> [Deprecated] </i>
267          *
268          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
269          * @since       2.0
270          * @privilege   %http://tizen.org/privilege/notification
271          *
272          * @return              An error code
273          * @param[in]   messageText                     The notification message
274          * @param[in]   badgeNumber                     The badge number
275          * @param[in]   launchArguments         The message for application
276          * @exception   E_SUCCESS                       The method is successful.
277          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
278          *                                                                      - A specified input parameter is invalid. @n
279          *                                                                      - The specified @c badgeNumber is less than @c 0. @n
280          *                                                                      - The length of the specified @c messageText is greater than App::MAX_NOTIFICATION_MESSAGE_LENGTH. @n
281          *                                                                      - The length of the specified @c launchArguments is greater than App::MAX_NOTIFICATION_LAUNCH_ARGUMENTS_LENGTH.
282          * @exception   E_SYSTEM                        A system error has occurred.
283          * @exception   E_INVALID_OPERATION     The type of application calling this method is invalid as per the %Tizen platform policy.
284          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
285          * @see                 IAppControlProviderEventListener::OnAppControlRequestReceived()
286          * @endif
287          */
288         result Notify(const Tizen::Base::String& messageText, int badgeNumber, const Tizen::Base::String& launchArguments);
289
290         /**
291          * @if OSPDEPREC
292          * Removes the notification message.
293          *
294          * @brief               <i> [Deprecated] </i>
295          *
296          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
297          * @since                       2.0
298          * @privilege   %http://tizen.org/privilege/notification
299          *
300          * @return              An error code
301          * @exception   E_SUCCESS       The method is successful.
302          * @exception   E_SYSTEM        A system error has occurred.
303          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
304          * @remarks      This method returns @c E_SUCCESS when there is no outstanding notification.
305          * @endif
306          */
307         result RemoveNotification(void);
308
309         /**
310          * @if OSPDEPREC
311          * Notifies the user about the ongoing activity using a message.
312          *
313          * @brief               <i> [Deprecated] </i>
314          *
315          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
316          * @since                               2.0
317          * @privilege   %http://tizen.org/privilege/notification
318          *
319          * @return              An error code
320          * @param[in]   messageText                     The notification message
321          * @exception   E_SUCCESS                       The method is successful.
322          * @exception   E_INVALID_ARG           The specified input parameter is invalid, or
323          *                                                                      the length of @c messageText is greater than App::MAX_NOTIFICATION_MESSAGE_LENGTH.
324          * @exception   E_SYSTEM                        A system error has occurred.
325          * @exception   E_INVALID_OPERATION     The type of application calling this method is invalid as per the %Tizen platform policy.
326          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
327          * @endif
328          */
329         result NotifyOngoingActivity(const Tizen::Base::String& messageText);
330
331         /**
332          * @if OSPDEPREC
333          * Notifies the user about the ongoing activity using a message. @n
334          * @c launchArguments is delivered as the value of the http://tizen.org/appcontrol/data/notification key
335          * for IAppControlProviderEventListener::OnAppControlRequestReceived().
336          *
337          * @brief               <i> [Deprecated] </i>
338          *
339          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
340          * @since                               2.0
341          * @privilege   %http://tizen.org/privilege/notification
342          *
343          * @return              An error code
344          * @param[in]   messageText                     The notification message
345          * @param[in]  launchArguments  The launch arguments for the application
346          * @exception   E_SUCCESS                       The method is successful.
347          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
348          *                                                                      - A specified input parameter is invalid. @n
349          *                                                                      - The length of the specified @c messageText is greater than App::MAX_NOTIFICATION_MESSAGE_LENGTH. @n
350          *                                                                      - The length of the specified @c launchArguments is greater than App::MAX_NOTIFICATION_LAUNCH_ARGUMENTS_LENGTH.
351          * @exception   E_SYSTEM                        A system error has occurred.
352          * @exception   E_INVALID_OPERATION     The type of application calling this method is invalid as per the %Tizen platform policy.
353          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
354          * @endif
355          */
356         result NotifyOngoingActivity(const Tizen::Base::String& messageText, const Tizen::Base::String& launchArguments);
357
358         /**
359          * @if OSPDEPREC
360          * Removes the notification message for the ongoing activity.
361          *
362          * @brief               <i> [Deprecated] </i>
363          *
364          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
365          * @since                       2.0
366          * @privilege   %http://tizen.org/privilege/notification
367          *
368          * @return              An error code
369          * @exception   E_SUCCESS                       The method is successful.
370          * @exception   E_SYSTEM                        A system error has occurred.
371          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
372          * @remarks      The method returns @c E_SUCCESS when there is no outstanding notification.
373          * @endif
374          */
375         result RemoveOngoingActivityNotification(void);
376
377         /**
378          * @if OSPDEPREC
379          * Gets the badge number of the application icon.
380          *
381          * @brief               <i> [Deprecated] </i>
382          *
383          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
384          * @since       2.0
385          * @privilege   %http://tizen.org/privilege/notification
386          *
387          * @return              The current badge number
388          * @param[in]   appId                           The application ID
389          * @exception   E_SUCCESS                       The method is successful.
390          * @exception   E_SYSTEM                        A system error has occurred.
391          * @exception   E_OBJ_NOT_FOUND     The application is not installed.
392          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
393          * @remarks The specific error code can be accessed using the GetLastResult() method. @n
394          *                      In case of failure, this method returns @c -1.
395          * @endif
396          */
397         int GetBadgeNumber(const AppId& appId);
398
399         /**
400          * @if OSPDEPREC
401          * @if VISPARTNER
402          * Notifies the user using a badge number on behalf of the specified application.
403          *
404          * @brief               <i> [Deprecated] </i>
405          *
406          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
407          * @since       2.0
408          *
409          * @visibility  partner
410          * @privilege   %http://tizen.org/privilege/notificationmanager
411          *
412          * @return              An error code
413          * @param[in]   appId                           The application ID
414          * @param[in]   badgeNumber                     The badge number
415          * @exception   E_SUCCESS                       The method is successful.
416          * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
417          *                                  the specified @c badgeNumber is less than @c 0.
418          * @exception   E_APP_NOT_INSTALLED  The application is not installed.
419          * @exception   E_INVALID_OPERATION     The target application with the specified application ID is not permitted to receive any notification as per the %Tizen platform policy.
420          * @exception   E_SYSTEM                        A system error has occurred.
421          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
422          * @endif
423          * @endif
424          */
425         result NotifyOnBehalf(const AppId& appId, int badgeNumber);
426
427         /**
428          * @if OSPDEPREC
429          * @if VISPARTNER
430          * Notifies the user using a message on behalf of the specified application.
431          *
432          * @brief               <i> [Deprecated] </i>
433          *
434          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
435          * @since       2.0
436          *
437          * @visibility  partner
438          * @privilege   %http://tizen.org/privilege/notificationmanager
439          *
440          * @return              An error code
441          * @param[in]   appId                           The application ID
442          * @param[in]   messageText                     The notification message
443          * @exception   E_SUCCESS                       The method is successful.
444          * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
445          *                                                                      the length of @c messageText is greater than App::MAX_NOTIFICATION_MESSAGE_LENGTH.
446          * @exception   E_APP_NOT_INSTALLED  The application is not installed.
447          * @exception   E_INVALID_OPERATION     The target application with the specified application ID is not permitted to receive any notification as per the %Tizen platform policy.
448          * @exception   E_SYSTEM                        A system error has occurred.
449          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
450          * @endif
451          * @endif
452          */
453         result NotifyOnBehalf(const AppId& appId, const Tizen::Base::String& messageText);
454
455         /**
456          * @if OSPDEPREC
457          * @if VISPARTNER
458          * Notifies the user using a message and badge number on behalf of the specified application.
459          *
460          * @brief               <i> [Deprecated] </i>
461          *
462          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
463          * @since       2.0
464          *
465          * @visibility  partner
466          * @privilege   %http://tizen.org/privilege/notificationmanager
467          *
468          * @return              An error code
469          * @param[in]   appId                           The application ID
470          * @param[in]   messageText                     The notification message
471          * @param[in]   badgeNumber                     The badge number
472          * @exception   E_SUCCESS                       The method is successful.
473          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
474          *                                                                      - A specified input parameter is invalid. @n
475          *                                                                      - The specified @c badgeNumber is less than @c 0. @n
476          *                                                                      - The length of @c messageText is greater than App::MAX_NOTIFICATION_MESSAGE_LENGTH.
477          * @exception   E_APP_NOT_INSTALLED  The application is not installed.
478          * @exception   E_INVALID_OPERATION     The target application with the specified application ID is not permitted to receive any notification as per the %Tizen platform policy.
479          * @exception   E_SYSTEM                        A system error has occurred.
480          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
481          * @endif
482          * @endif
483          */
484         result NotifyOnBehalf(const AppId& appId, const Tizen::Base::String& messageText, int badgeNumber);
485
486         /**
487          * @if OSPDEPREC
488          * @if VISPARTNER
489          * Notifies the user using a message and badge number on behalf of the specified application. @n
490          * If the user checks the message, the @c launchArguments is delivered to the application.
491          *
492          * @brief               <i> [Deprecated] </i>
493          *
494          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
495          * @since               2.0
496          *
497          * @visibility  partner
498          * @privilege   %http://tizen.org/privilege/notificationmanager
499          *
500          * @return             An error code
501          * @param[in]  appId                            The application ID
502          * @param[in]  messageText              The notification message
503          * @param[in]  launchArguments  The launch arguments for the application
504          * @exception  E_SUCCESS                        The method is successful.
505          * @exception  E_INVALID_ARG            Either of the following conditions has occurred: @n
506          *                                                              - A specified input parameter is invalid. @n
507          *                                                              - The length of the specified @c messageText is greater than App::MAX_NOTIFICATION_MESSAGE_LENGTH. @n
508          *                                                              - The length of the specified @c launchArguments is greater than App::MAX_NOTIFICATION_LAUNCH_ARGUMENTS_LENGTH.
509          * @exception  E_APP_NOT_INSTALLED      The application is not installed.
510          * @exception  E_INVALID_OPERATION      The target application with the specified application ID is not permitted to receive any notification as per the %Tizen platform policy.
511          * @exception  E_SYSTEM                         A system error has occurred.
512          * @exception E_PRIVILEGE_DENIED                The application does not have the privilege to call this method.
513          * @endif
514          * @endif
515          */
516         result NotifyOnBehalf(const AppId& appId, const Tizen::Base::String& messageText, const Tizen::Base::String& launchArguments);
517
518         /**
519          * @if OSPDEPREC
520          * @if VISPARTNER
521          * Notifies the user about the ongoing activity using a message on behalf of the specified application.
522          *
523          * @brief               <i> [Deprecated] </i>
524          *
525          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
526          * @since                               2.0
527          *
528          * @visibility  partner
529          * @privilege   %http://tizen.org/privilege/notificationmanager
530          *
531          * @return              An error code
532          * @param[in]   appId                           The application ID
533          * @param[in]   messageText                     The notification message
534          * @exception   E_SUCCESS                       The method is successful.
535          * @exception   E_INVALID_ARG           The specified input parameter is invalid, or
536          *                                                                      the length of @c messageText is greater than App::MAX_NOTIFICATION_MESSAGE_LENGTH.
537          * @exception   E_APP_NOT_INSTALLED     The application is not installed.
538          * @exception   E_SYSTEM                        A system error has occurred.
539          * @exception   E_INVALID_OPERATION     The type of application calling this method is invalid as per the %Tizen platform policy.
540          * @exception E_PRIVILEGE_DENIED                The application does not have the privilege to call this method.
541          * @endif
542          * @endif
543          */
544         result NotifyOngoingActivityOnBehalf(const AppId& appId, const Tizen::Base::String& messageText);
545
546         /**
547          * @if OSPDEPREC
548          * @if VISPARTNER
549          * Notifies the user about the ongoing activity using a message on behalf of the specified application.
550          *
551          * @brief               <i> [Deprecated] </i>
552          *
553          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
554          * @since                               2.0
555          *
556          * @visibility  partner
557          * @privilege   %http://tizen.org/privilege/notificationmanager
558          *
559          * @return              An error code
560          * @param[in]   appId                           The application ID
561          * @param[in]   messageText                     The notification message
562          * @param[in]  launchArguments  The launch arguments for application
563          * @exception   E_SUCCESS                       The method is successful.
564          * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
565          *                                                                      - A specified input parameter is invalid. @n
566          *                                                                      - The length of @c messageText is greater than App::MAX_NOTIFICATION_MESSAGE_LENGTH. @n
567          *                                                                      - The length of @c launchArguments is greater than App::MAX_NOTIFICATION_LAUNCH_ARGUMENTS_LENGTH.
568          * @exception   E_APP_NOT_INSTALLED     The application is not installed.
569          * @exception   E_SYSTEM                        A system error has occurred.
570          * @exception   E_INVALID_OPERATION     The type of application calling this method is invalid as per the %Tizen platform policy.
571          * @exception E_PRIVILEGE_DENIED                The application does not have the privilege to call this method.
572          * @endif
573          * @endif
574          */
575         result NotifyOngoingActivityOnBehalf(const AppId& appId, const Tizen::Base::String& messageText, const Tizen::Base::String& launchArguments);
576
577         /**
578          * @if OSPDEPREC
579          * @if VISPARTNER
580          * Removes the notification message for ongoing activity on behalf of the specified application.
581          *
582          * @brief               <i> [Deprecated] </i>
583          *
584          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
585          * @since                       2.0
586          *
587          * @visibility  partner
588          * @privilege   %http://tizen.org/privilege/notificationmanager
589          *
590          * @return              An error code
591          * @param[in]   appId                           The application ID
592          * @exception   E_SUCCESS                       The method is successful.
593          * @exception   E_APP_NOT_INSTALLED     The application is not installed.
594          * @exception   E_SYSTEM                        A system error has occurred.
595          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
596          * @remarks             Although there is no outstanding notification for the calling application, this method returns @c E_SUCCESS.
597          * @endif
598          * @endif
599          */
600         result RemoveOngoingActivityNotificationOnBehalf(const AppId& appId);
601
602         /**
603          * @if OSPDEPREC
604          * @if VISPARTNER
605          * Removes the notification message on behalf of the specified application.
606          *
607          * @brief               <i> [Deprecated] </i>
608          *
609          * @deprecated  This class is deprecated. Instead of using this class, use the Tizen::Shell::NotificationManager class.
610          * @since                       2.0
611          *
612          * @visibility  partner
613          * @privilege   %http://tizen.org/privilege/notificationmanager
614          *
615          * @return              An error code
616          * @param[in]   appId                           The application ID
617          * @exception   E_SUCCESS                       The method is successful.
618          * @exception   E_APP_NOT_INSTALLED     The application is not installed.
619          * @exception   E_SYSTEM                        A system error has occurred.
620          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
621          * @remarks             Although there is no outstanding notification for the calling application, this method returns @c E_SUCCESS.
622          * @endif
623          * @endif
624          */
625         result RemoveNotificationOnBehalf(const AppId& appId);
626
627 private:
628         /**
629          * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
630          *
631          * @since       2.0
632          */
633         NotificationManager(const NotificationManager& rhs);
634
635         /**
636          * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
637          *
638          * @since       2.0
639          */
640         NotificationManager& operator =(const NotificationManager& rhs);
641
642 private:
643         class _NotificationManagerImpl * __pNotificationManagerImpl;
644
645         friend class _NotificationManagerImpl;
646 }; // NotificationManager
647
648 } } // Tizen::App
649
650 #endif // _FAPP_NOTIFICATION_MANAGER_H_