2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.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
9 // http://floralicense.org/license/
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.
19 * @file FShellIAppWidgetRequestListener.h
20 * @brief This is the header file for the %IAppWidgetRequestListener interface.
22 * This header file contains the declarations of the %IAppWidgetRequestListener interface.
25 #ifndef _FSHELL_IAPPWIDGET_ADD_REQUEST_LISTENER_H_
26 #define _FSHELL_IAPPWIDGET_ADD_REQUEST_LISTENER_H_
28 #include <FBaseRtIEventListener.h>
29 #include <FBaseString.h>
30 #include <FAppTypes.h>
32 namespace Tizen { namespace Shell
36 * @interface IAppWidgetRequestListener
37 * @brief This interface defines a listener for an AppWidget viewer (for example, Home screen, Lock screen) that receives request to add AppWidget.
41 * The %IAppWidgetRequestListener interface defines a listener for an AppWidget viewer (for example, Home screen, Lock screen) that receives request to add AppWidget.
43 class _OSP_EXPORT_ IAppWidgetRequestListener
44 : virtual public Tizen::Base::Runtime::IEventListener
48 * This polymorphic destructor should be overridden if required.
49 * This way, the destructors of the derived classes are called when the destructor of this interface is called.
53 virtual ~IAppWidgetRequestListener(void) {}
56 * Called when requested to add an AppWidget. @n
57 * The AppWidget viewer application such as the Home screen can get callback request to add an AppWidget by implementing this listener.
61 * @param[in] appId The application ID of the application providing AppWidget
62 * @param[in] providerName The name of the AppWidget provider to add
63 * @param[in] text Alternative text for the AppWidget
64 * @param[in] userInfo User information for the AppWidget provider
65 * @remarks This method is invoked only in the main thread.
66 * @see AppWidgetProviderManager::AddAppWidget()
68 virtual void OnAppWidgetAddRequested(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& text, const Tizen::Base::String& userInfo) = 0;
72 // This method is for internal use only. Using this method can cause behavioral,
73 // security-related, and consistency-related issues in the application.
77 virtual void IAppWidgetAddReqeustListener_Reserved1(void) {}
80 // This method is for internal use only. Using this method can cause behavioral,
81 // security-related, and consistency-related issues in the application.
85 virtual void IAppWidgetAddReqeustListener_Reserved2(void) {}
88 // This method is for internal use only. Using this method can cause behavioral,
89 // security-related, and consistency-related issues in the application.
93 virtual void IAppWidgetAddReqeustListener_Reserved3(void) {}
99 #endif /* _FSHELL_IAPPWIDGET_ADD_REQUEST_LISTENER_H_ */