77516e4929423b72cd266b28013f74cd02800ce2
[platform/framework/native/appfw.git] / inc / FIoIMmcStorageMountListener.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         FIoIMmcStorageMountListener.h
19 * @brief        This is the header file for the %IMmcStorageMountListener interface.
20 *
21 * This header file contains the declarations of the %IMmcStorageMountListener interface.
22 */
23
24 #ifndef _FIO_IMMC_STORAGE_MOUNT_LISTENER_H_
25 #define _FIO_IMMC_STORAGE_MOUNT_LISTENER_H_
26
27 #include <FBaseRtIEventListener.h>
28
29 namespace Tizen { namespace Io
30 {
31
32 /**
33 * @interface    IMmcStorageMountListener
34 * @brief                This interface is the listener to receive the result of external MMC mount or unmount operations.
35 * @since                2.0
36 *
37 * The %IMmcStorageMountListener interface must be registered and implemented by an application to receive the result of
38 * external MMC mount or unmount operations.
39 *
40 * @see MmcStorageManager
41 */
42 class _OSP_EXPORT_ IMmcStorageMountListener
43            : public virtual Tizen::Base::Runtime::IEventListener
44 {
45 public:
46         /**
47         * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface called.
48         *
49         * @since        2.0
50         */
51         virtual ~IMmcStorageMountListener(void) {}
52
53         /**
54         * Called when external MMC mount operation is done.
55         *
56         * @since                2.0
57         *
58         * @param[in]    r                               The result of external MMC mount operation
59         * @exception    E_SUCCESS               The mount operation is successful.
60         * @exception    E_IO                    Either of the following conditions has occurred: @n
61         *                                                                       - The file system to be mounted has an invalid superblock.
62         *                                                                       - An unexpected device failure has occurred as the media ejected suddenly.
63         * @exception     E_SYSTEM               The method cannot proceed due to a severe system error.
64         */
65         virtual void OnMmcStorageMounted(result r) = 0;
66
67         /**
68         * Called when external MMC unmount operation is done.
69         *
70         * @since                2.0
71         *
72         * @param[in]    r                               The result of external MMC unmount operation
73         * @exception    E_SUCCESS               The unmount operation is successful.
74         * @exception    E_IO                    An unexpected device failure has occurred as the media ejected suddenly.
75         * @exception    E_SYSTEM                The method cannot proceed due to a severe system error.
76         */
77         virtual void OnMmcStorageUnmounted(result r) = 0;
78
79 protected:
80         //
81         // This method is for internal use only.
82         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
83         //
84         // @since 2.0
85         virtual void IMmcStorageMountListener_Reserved1(void) {}
86
87         //
88         // This method is for internal use only.
89         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
90         //
91         // @since 2.0
92         virtual void IMmcStorageMountListener_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         // @since 2.0
99         virtual void IMmcStorageMountListener_Reserved3(void) {}
100
101 }; // IMmcStorageMountListener
102
103 } } // Tizen::Io
104
105 #endif // _FIO_IMMC_STORAGE_MOUNT_LISTENER_H