2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.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
8 // http://floralicense.org/license/
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.
18 * @file GlTimerBase.cpp
19 * @brief This is the source file for GlTimerBase class.
25 #include "GlContentUpdateEventListener.h"
26 #include "GlProgressBar.h"
27 #include "GlTimerBase.h"
30 using namespace Tizen::Ui;
31 using namespace Tizen::Base::Runtime;
33 GlTimerBase::GlTimerBase(IFileOpInvalidateListener* invalidateListener, enum FileActionMode actionId)
35 , __pContentIdList(null)
38 , __pInvalidate(invalidateListener)
41 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
44 GlTimerBase::~GlTimerBase(void)
48 if (__pContentIdList != null && __pContentIdList->GetCount() > 0)
52 delete __pContentIdList;
57 GlTimerBase::StartTimer(void)
60 __pContentIdList = TimerStart();
61 if (__pContentIdList != null && __pContentIdList->GetCount() > 0)
63 AppLogDebug("Starting timer");
64 __pMoveProBar = new (std::nothrow) GlProgressBar(static_cast<IActionEventListener*>(this));
65 __pMoveProBar->ShowFileProgressingPopup(__pContentIdList->GetCount(), _actionId);
67 __moveTimer.Construct(*this);
69 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
70 pContentListener->RemoveContentListener();
71 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
74 AppLogDebug("EXIT1(%s)", GetErrorMessage(GetLastResult()));
79 GlTimerBase::CancelTimer(void)
83 OnOpCancelled(CANCEL_USER);
85 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
89 GlTimerBase::OnTimerExpired(Timer& timer)
92 if (&timer == &__moveTimer)
94 AppLogDebug("__pContentIdList count is %d", __pContentIdList->GetCount());
95 if (__moveToCount < __pContentIdList->GetCount())
97 AppLogDebug("__pContentIdList count is %d", __pContentIdList->GetCount());
98 if (__pContentIdList->GetAt(__moveToCount) != null)
100 result r = TimerExpired(__pContentIdList->GetAt(__moveToCount));
103 AppLogDebug("OnTimerExpired EXIT(%s)", GetErrorMessage(r));
104 OnOpCancelled(CANCEL_SYS_ERROR);
109 __pMoveProBar->IncProgress(__moveToCount);
112 __pInvalidate->OnFileOpInvalidate(_actionId);
114 __moveTimer.Start(1);
118 __moveTimer.Cancel();
119 OnOpComplete(COMPLETE_SUCCESS);
123 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
127 GlTimerBase::OnActionPerformed(const Control& source, int actionId)
129 AppLogDebug("ENTER");
132 case IDA_PROGRESSBAR_CANCEL:
141 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
145 void GlTimerBase::OnOpCancelled(enum FileActionCancelRes res)
147 AppLogDebug("ENTER");
148 __pMoveProBar->HideFileProgressingPopup();
149 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
150 pContentListener->AddContentListener();
153 __pInvalidate->OnFileOpInvalidate(_actionId);
155 if (__moveToCount > 0)
159 if (res != CANCEL_USER)
161 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_PARTIAL);
165 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
173 if (res != CANCEL_USER)
175 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_FAILURE);
179 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
183 TimerCancel(__moveToCount, res);
187 void GlTimerBase::OnOpComplete(enum FileActionCompleteRes res)
189 AppLogDebug("ENTER");
190 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
191 pContentListener->AddContentListener();
192 __pMoveProBar->HideFileProgressingPopup();
195 __pInvalidate->OnFileOpInvalidate(_actionId);
196 __pInvalidate->OnFileOpComplete(_actionId, res);
198 TimerComplete(__moveToCount, res);
202 void GlTimerBase::SetActionMode(const enum FileActionMode actionId)
204 _actionId = actionId;