Landscape implementation Gallery
[apps/osp/Gallery.git] / inc / GlTimerBase.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                GlTimerBase.h
19  * @brief               This is the header file for GlTimerBase class.
20  */
21
22 #ifndef _GL_TIMER_BASE_H_
23 #define _GL_TIMER_BASE_H_
24
25 #include <FUi.h>
26 #include "GlFileOpInvalidateListener.h"
27
28 class GlProgressBar;
29
30 class GlTimerBase
31         : public Tizen::Ui::IActionEventListener
32         , public Tizen::Base::Runtime::ITimerEventListener
33 {
34 public:
35
36         GlTimerBase(IFileOpInvalidateListener*, enum FileActionMode actionId);
37         virtual ~GlTimerBase(void);
38
39         bool StartTimer(void);
40         void CancelTimer(void);
41         void SetActionMode(const enum FileActionMode actionId);
42
43         virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
44
45         virtual void OnTimerExpired(Tizen::Base::Runtime::Timer& timer);
46
47         void Cancel(void);
48         bool IsStarted(void);
49
50         int GetMovedCount() const;
51
52 protected:
53         virtual Tizen::Base::Collection::IList* TimerStart(void) = 0;
54         virtual result TimerExpired(const Tizen::Base::Object*) = 0;
55         virtual void TimerCancel(int, enum FileActionCancelRes res) = 0;
56         virtual void TimerComplete(int, enum FileActionCompleteRes res) = 0;
57
58 private:
59         void OnOpComplete(enum FileActionCompleteRes);
60         void OnOpCancelled(enum FileActionCancelRes res);
61
62 protected:
63         enum FileActionMode _actionId;
64
65 private:
66         Tizen::Base::Runtime::Timer __moveTimer;
67         Tizen::Base::Collection::IList * __pContentIdList;
68         int __moveToCount;
69         GlProgressBar* __pMoveProBar;
70         IFileOpInvalidateListener* __pInvalidate;
71         bool __isStarted;
72  };
73
74 #endif //_GL_TIMER_BASE_H_