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