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.
18 * @file FShellIAppWidgetPopupProvider.h
19 * @brief This is the header file for the %IAppWidgetPopupProviderFactory interface.
21 * This header file contains the declarations of the %IAppWidgetPopupProviderFactory interface.
24 #ifndef _FSHELL_IAPPWIDGET_POPUP_PROVIDER_FACTORY_H_
25 #define _FSHELL_IAPPWIDGET_POPUP_PROVIDER_FACTORY_H_
27 #include <FBaseString.h>
28 #include <FShellAppWidgetPopupProvider.h>
30 namespace Tizen { namespace Shell
33 class AppWidgetPopupProvider;
36 * @interface IAppWidgetPopupProviderFactory
37 * @brief This interface defines the factory for the %AppWidgetPopupProvider creation
41 * The %IAppWidgetPopupProviderFactory is the factory interface for creating the %AppWidgetPopupProvider instance.
42 * The %AppWidgetManager calls CreateInstance() when an instance of %IAppWidgetPopupProvider is required.
44 * @see AppWidgetManager
46 class _OSP_EXPORT_ IAppWidgetPopupProviderFactory
50 * This polymorphic destructor should be overridden if required.
51 * This way, the destructors of the derived classes are called when the destructor of this interface is called.
55 virtual ~IAppWidgetPopupProviderFactory(void) {};
58 * Creates a AppWidgetPopupProvider instance. @n
59 * Called when the %AppWidgetPopupProvider creation request is received from the appwidget service. @n
60 * Applications that provide the AppWidget functionality must implement this listener.
64 * @param[in] providerName The AppWidget provider name
65 * @param[in] userInfo User information that specified when the AppWidget is added
67 virtual AppWidgetPopupProvider* CreateInstance(const Tizen::Base::String& providerName, const Tizen::Base::String& userInfo) = 0;
71 // This method is for internal use only. Using this method can cause behavioral,
72 // security-related, and consistency-related issues in the application.
76 virtual void IAppWidgetPopupProvider_Reserved1(void) {}
79 // This method is for internal use only. Using this method can cause behavioral,
80 // security-related, and consistency-related issues in the application.
84 virtual void IAppWidgetPopupProvider_Reserved2(void) {}
87 // This method is for internal use only. Using this method can cause behavioral,
88 // security-related, and consistency-related issues in the application.
92 virtual void IAppWidgetPopupProvider_Reserved3(void) {}
97 #endif /* _IAPPWIDGET_POPUP_FACTORY_H_ */