--- /dev/null
+//
+// Copyright (c) 2013 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
+//
+// 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.
+//
+
+/**
+ * @file FApp_INotificationManagerImpl.h
+ * @brief This is the header file for the _INotificationManagerImpl class.
+ *
+ * This file contains the declarations of _INotificationManagerImpl.
+ */
+
+#ifndef _FAPP_INTERNAL_INOTIFICATION_MANAGER_IMPL_H_
+#define _FAPP_INTERNAL_INOTIFICATION_MANAGER_IMPL_H_
+
+#include <FBaseObject.h>
+#include <FBaseString.h>
+#include <FAppTypes.h>
+
+
+namespace Tizen { namespace App
+{
+
+class _INotificationManagerImpl
+{
+public:
+ virtual ~_INotificationManagerImpl(void) {}
+
+ /**
+ * Gets the badge number of the application icon.
+ *
+ * @return The current badge number
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_SYSTEM A system error has occurred.
+ * @exception E_OBJ_NOT_FOUND The application is not installed.
+ * @exception E_INVALID_STATE This instance is in an invalid state. @n
+ * The Construct() method is not called.
+ */
+ virtual int GetBadgeNumber(void) const = 0;
+
+ /**
+ * Notifies the user using a message and badge number. @n
+ * If the user checks the message, @c launchArguments is delivered to the application. @n
+ * @c launchArguments is specified as input parameter for Application::OnUserEventReceivedN() or can be obtained by
+ * invoking Application::GetAppArgumentListN(), especially within Application::OnAppInitializing().
+ *
+ * @return An error code
+ * @param[in] messageText The notification message
+ * @param[in] badgeNumber The badge number
+ * @param[in] launchArguments The message for application
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred: @n
+ * - A specified input parameter is invalid. @n
+ * - The specified @c badgeNumber is less than @c 0. @n
+ * - The length of the specified @c messageText is greater than Shell::MAX_NOTIFICATION_MESSAGE_LENGTH. @n
+ * - The length of the specified @c launchArguments is greater than Shell::MAX_NOTIFICATION_LAUUNCH_ARGUMENTS_LENGTH.
+ * @exception E_SYSTEM A system error has occurred.
+ * @exception E_INVALID_OPERATION The type of application calling this method is invalid as per the Tizen platform policy.
+ * @exception E_INVALID_STATE This instance is in an invalid state. @n
+ * The Construct() method is not called.
+ */
+ virtual result Notify(const Tizen::Base::String& messageText, int badgeNumber, const Tizen::Base::String& launchArguments) = 0;
+
+ /**
+ * Removes the notification message.
+ *
+ * @return An error code
+ * @exception E_SUCCESS The method was successful.
+ * @exception E_SYSTEM A system error occurred.
+ * @exception E_INVALID_STATE This instance is in an invalid state: @n
+ * - The Construct() method is not called. @n
+ */
+ virtual result RemoveNotification(void) = 0;
+
+ /**
+ * Notifies the user about the ongoing activity using a message. @n
+ * @c launchArguments is specified as input parameter for Application::OnUserEventReceivedN() or can be obtained by
+ * invoking Application::GetAppArgumentListN(), especially within Application::OnAppInitializing().
+ *
+ * @return An error code
+ * @param[in] messageText The notification message
+ * @param[in] launchArguments The launch arguments for the application
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred: @n
+ * - A specified input parameter is invalid. @n
+ * @exception E_SYSTEM A system error has occurred.
+ * @exception E_INVALID_OPERATION The type of application calling this method is invalid as per the Tizen platform policy.
+ * @exception E_INVALID_STATE This instance is in an invalid state. @n
+ * The Construct() method is not called.
+ */
+ virtual result NotifyOngoingActivity(const Tizen::Base::String& messageText, const Tizen::Base::String& launchArguments) = 0;
+
+ /**
+ * Removes the notification message for the ongoing activity.
+ *
+ * @return An error code
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_SYSTEM A system error has occurred.
+ * @exception E_INVALID_STATE This instance is in an invalid state. @n
+ * The Construct() method is not called.
+ */
+ virtual result RemoveOngoingActivityNotification(void) = 0;
+
+ /**
+ * Gets the badge number of the application icon.
+ *
+ * @return The current badge number
+ * @param[in] appId The application ID
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_SYSTEM A system error has occurred.
+ * @exception E_OBJ_NOT_FOUND The application is not installed.
+ * @exception E_INVALID_STATE This instance is in an invalid state. @n
+ * The Construct() method is not called.
+ */
+ virtual int GetBadgeNumber(const Tizen::App::AppId& appId) const = 0;
+
+ /**
+ * Notifies the user using a message and badge number on behalf of the specified application. @n
+ * If the user checks the message, the @c launchArguments is delivered to the application.
+ *
+ * @return An error code
+ * @param[in] appId The application ID
+ * @param[in] messageText The notification message
+ * @param[in] badgeNumber The badge number
+ * @param[in] launchArguments The launch arguments for the application
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred: @n
+ * - A specified input parameter is invalid. @n
+ * - The length of the specified @c messageText is greater than Shell::MAX_NOTIFICATION_MESSAGE_LENGTH. @n
+ * - The length of the specified @c launchArguments is greater than Shell::MAX_NOTIFICATION_LAUNCH_ARGUMENTS_LENGTH.
+ * @exception E_APP_NOT_INSTALLED The application is not installed.
+ * @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.
+ * @exception E_SYSTEM A system error has occurred.
+ * @exception E_INVALID_STATE This instance is in an invalid state. @n
+ * The Construct() method is not called.
+ */
+ virtual result NotifyByAppId(const Tizen::App::AppId& appId, const Tizen::Base::String& messageText, int badgeNumber, const Tizen::Base::String& launchArguments) = 0;
+
+ /**
+ * Notifies the user about the ongoing activity using a message on behalf of the specified application.
+ *
+ * @return An error code
+ * @param[in] appId The application ID
+ * @param[in] messageText The notification message
+ * @param[in] launchArguments The launch arguments for application
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_ARG Either of the following conditions has occurred: @n
+ * - A specified input parameter is invalid. @n
+ * - The length of @c messageText is greater than Shell::MAX_NOTIFICATION_MESSAGE_LENGTH. @n
+ * - The length of @c launchArguments is greater than Shell::MAX_NOTIFICATION_LAUNCH_ARGUMENTS_LENGTH.
+ * @exception E_APP_NOT_INSTALLED The application is not installed.
+ * @exception E_SYSTEM A system error has occurred.
+ * @exception E_INVALID_OPERATION The type of application calling this method is invalid as per the Tizen platform policy.
+ * @exception E_INVALID_STATE This instance is in an invalid state. @n
+ * The Construct() method is not called.
+ */
+ virtual result NotifyOngoingActivityByAppId(const Tizen::App::AppId& appId, const Tizen::Base::String& messageText, const Tizen::Base::String& launchArguments) = 0;
+
+ /**
+ * Removes the notification message for ongoing activity on behalf of the specified application.
+ *
+ * @return An error code
+ * @param[in] appId The application ID
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_APP_NOT_INSTALLED The application is not installed.
+ * @exception E_SYSTEM A system error has occurred.
+ * @exception E_INVALID_STATE This instance is in an invalid state. @n
+ * The Construct() method is not called.
+ */
+ virtual result RemoveOngoingActivityNotificationByAppId(const Tizen::App::AppId& appId) = 0;
+
+ /**
+ * Removes the notification message on behalf of the specified application.
+ *
+ * @return An error code
+ * @param[in] appId The application ID
+ * @exception E_SUCCESS The method was successful.
+ * @exception E_APP_NOT_INSTALLED The application is not installed.
+ * @exception E_SYSTEM A system error occurred.
+ * @exception E_INVALID_STATE This instance is in an invalid state: @n
+ * - The Construct() method is not called. @n
+ */
+ virtual result RemoveNotificationByAppId(const Tizen::App::AppId& appId) = 0;
+
+};
+
+} } // Tizen::App
+
+#endif // _FAPP_INTERNAL_INOTIFICATION_MANAGER_IMPL_H_