Initialize Tizen 2.3
[apps/osp/Gallery.git] / inc / GlFileUpdateTimer.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                GlFileUpdateTimer.h
19  * @brief               This is the header file for FileUpdateTimer class.
20  */
21 #ifndef _GL_FILE_UPDATE_TIMER_H_
22 #define _GL_FILE_UPDATE_TIMER_H_
23
24 #include <FContent.h>
25 #include "GlTimerBase.h"
26
27 class FileListPresentationModel;
28 class IContentFileUpdateManager;
29
30 class FileUpdateTimer
31         : public GlTimerBase
32 {
33 public:
34         FileUpdateTimer(Tizen::Base::Collection::IList*, IContentFileUpdateManager*, IFileOpInvalidateListener*, FileActionMode, RotateMode rotateMode = ROTATE_MODE_RIGHT);
35         virtual ~FileUpdateTimer(void);
36
37 private:
38         virtual Tizen::Base::Collection::IList * TimerStart(void);
39         virtual result TimerExpired(const Tizen::Base::Object* contentId);
40         virtual result ScanDirectories(void);
41         virtual int GetDirScanCount();
42         void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
43         virtual void TimerCancel(int, enum FileActionCancelRes res);
44         virtual void TimerComplete(int, enum FileActionCompleteRes res);
45
46 private :
47         Tizen::Base::Collection::IList* __pUpdateIndexList;
48         IContentFileUpdateManager* __pFileUpdateManager;
49         RotateMode __rotateMode;
50         Tizen::Base::Collection::HashMap __scanDirMap;
51         Tizen::Content::ContentManager* __pContentManager;
52 };
53
54 #endif // _GL_FILE_UPDATE_TIMER_H_