Initialize Tizen 2.3
[apps/osp/Gallery.git] / inc / GlContentUpdateEventListener.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.1 (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://floralicense.org/license/
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                GlContentUpdateEventListener.h
19  * @brief               This is the header file for FileListPresentationModel class.
20  */
21
22 #ifndef _GL_CONTENT_UPDATE_EVENT_LISTENER_H_
23 #define _GL_CONTENT_UPDATE_EVENT_LISTENER_H_
24
25 #include <FContent.h>
26
27 class ContentUpdateEventListener
28         : public Tizen::Base::Object
29         , public Tizen::Content::IContentUpdateEventListener
30 {
31 public:
32         static ContentUpdateEventListener* GetInstance(void);
33         void AddContentListener(void);
34         void RemoveContentListener(void);
35         bool GetChangeNotificationStatus();
36         void SetTimerActive(void);
37         void ReSetTimerActive(void);
38         void ResumeOperation();
39         Tizen::Base::String GetDirecotyNameFromFullPath(const Tizen::Base::String& fullPath) const;
40 private:
41         ContentUpdateEventListener(void);
42         virtual ~ContentUpdateEventListener(void);
43
44         result Construct(void);
45         static void CreateInstance(void);
46         static void DestroyInstance(void);
47
48         virtual void OnContentFileCreated(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r);
49         virtual void OnContentFileUpdated(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r);
50         virtual void OnContentFileDeleted(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r);
51         virtual void OnContentDirectoryScanCompleted(const Tizen::Base::String& directoryPath, result r);
52
53 private:
54         static ContentUpdateEventListener* __pContentUpdateEventListener;
55         Tizen::Content::ContentManager* __pContentManager;
56         bool __isTimerActive;
57         bool __changeNotificationReceived;
58 };
59
60 #endif /* _GL_CONTENT_UPDATE_EVENT_LISTENER_H_ */