Enable build with iniparser v 3.1
[platform/framework/native/appfw.git] / inc / FAppPkgIPackageUninstallationResponseListener.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 /**
18   * @file       FAppPkgIPackageUninstallationResponseListener.h
19  * @brief       This is the header file for the %IPackageUninstallationResponseListener interface.
20  *
21  * This header file contains the declarations of the %IPackageUninstallationResponseListener interface.
22  *
23  */
24 #ifndef _FAPP_PKG_IPACKAGE_UNINSTALLATION_RESPONSE_LISTENER_H_
25 #define _FAPP_PKG_IPACKAGE_UNINSTALLATION_RESPONSE_LISTENER_H_
26
27 #include <FAppPkgPackageManager.h>
28 #include <FAppPkgIPackageInstallationEventListener.h>
29 #include <FBaseRtIEventListener.h>
30
31 namespace Tizen { namespace App { namespace Package
32 {
33
34 /**
35  * @interface   IPackageUninstallationResponseListener
36  * @brief               This interface defines a listener for the asynchronous package uninstallation operation.
37  *
38  * @since       2.0
39  *
40  * The %IPackageUninstallationResponseListener interface defines a listener that is notified about events related to the uninstallation of a target package.
41  * The events include the uninstallation result.
42  * Generally, applications such as the %Tizen Store use this listener in a package uninstallation step.
43  * @see PackageManager::UninstallPackage()
44  *
45  */
46 class _OSP_EXPORT_ IPackageUninstallationResponseListener
47         : virtual public Tizen::Base::Runtime::IEventListener
48 {
49 public:
50         /**
51         * This polymorphic destructor should be overridden if required. @n
52         * This way, the destructors of the derived classes are called when the destructor of this interface is called.
53         *
54         * @since        2.0
55         *
56         */
57         virtual ~IPackageUninstallationResponseListener(void) {}
58
59         /**
60         * Called when a package uninstallation is completed. @n
61         * The value of @c uninstallationResult is @c true if the uninstallation is successful, otherwise it is @c false.
62         *
63         * @since        2.0
64         *
65         * @param[in]      packageId                     The package ID
66         * @param[in]      uninstallationResult          Set to @c true if the uninstallation is successful, @n
67         *                                               else @c false
68         *
69         */
70         virtual void OnPackageUninstallationResponseReceived(const PackageId& packageId, bool uninstallationResult) = 0;
71
72
73 protected:
74         //
75         // This method is for internal use only.
76         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
77         //
78         // This method is reserved and may change its name at any time without prior notice.
79         //
80         // @since       2.0
81         //
82         virtual void IPackageUninstallationResponseListener_Reserved1(void) {}
83
84         //
85         // This method is for internal use only.
86         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
87         //
88         // This method is reserved and may change its name at any time without prior notice.
89         //
90         // @since       2.0
91         //
92         virtual void IPackageUninstallationResponseListener_Reserved2(void) {}
93
94         //
95         // This method is for internal use only.
96         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
97         //
98         // This method is reserved and may change its name at any time without prior notice.
99         //
100         // @since       2.0
101         //
102         virtual void IPackageUninstallationResponseListener_Reserved3(void) {}
103
104 }; // IPackageUninstallationResponseListener
105
106 } } } // Tizen::App::Package
107
108 #endif // _FAPP_PKG_IPACKAGE_UNINSTALLATION_RESPONSE_LISTENER_H_