Enable build with iniparser v 3.1
[platform/framework/native/appfw.git] / inc / FIoIFileEventListener.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        FIoIFileEventListener.h
19  * @brief       This is the header file for the %IFileEventListener interface.
20  *
21  * This header file contains the declarations of the %IFileEventListener interface.
22  */
23
24 #ifndef _FIO_IFILE_EVENT_LISTENER_H_
25 #define _FIO_IFILE_EVENT_LISTENER_H_
26
27 #include <FBaseString.h>
28 #include <FBaseRtIEventListener.h>
29
30 namespace Tizen { namespace Io
31 {
32
33 /**
34 * @interface    IFileEventListener
35 * @brief        This listener interface is used for receiving file events.
36 *
37 * @since        2.0
38 *
39 * The %IFileEventListener interface is used for receiving file events.
40 */
41 class _OSP_EXPORT_ IFileEventListener
42         : virtual public Tizen::Base::Runtime::IEventListener
43 {
44
45 public:
46         /**
47         * Called when a monitored file or directory is changed.
48         *
49         * @since                2.0
50         *
51         * @return               An error code
52         * @param[in]    events          The file event type @n
53         *                                                       Multiple event type can be combined using bitwise OR (see Tizen::Io::FileEventType). @n
54         *                                                       ::FILE_EVENT_TYPE_ALL is provided for all file event type.
55         * @param[in]    path            The path to the directory or file where the event has occurred
56         * @param[in]    eventId         The event ID associating related events for single operation such as File::Move(), Directory::Rename()
57         */
58         virtual void OnFileEventOccured(const unsigned long events, const Tizen::Base::String& path, const unsigned int eventId) = 0;
59
60 protected:
61         //
62         // This method is for internal use only.
63         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
64         //
65         // This method is reserved and may change its name at any time without prior notice.
66         //
67         // @since       2.0
68         //
69         virtual void IFileEventListener_Reserved1(void) {}
70
71         //
72         // This method is for internal use only.
73         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
74         //
75         // This method is reserved and may change its name at any time without prior notice.
76         //
77         // @since       2.0
78         //
79         virtual void IFileEventListener_Reserved2(void) {}
80
81         //
82         // This method is for internal use only.
83         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
84         //
85         // This method is reserved and may change its name at any time without prior notice.
86         //
87         // @since       2.0
88         //
89         virtual void IFileEventListener_Reserved3(void) {}
90
91 }; // IFileEventListener
92
93 }} // Tizen::Io
94
95 #endif //_FIO_IFILE_EVENT_LISTENER
96