1// Copyright 2014 PDFium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#include "xfa/fwl/cfwl_timer.h"
8
9#include "xfa/fwl/cfwl_app.h"
10#include "xfa/fwl/cfwl_timerinfo.h"
11#include "xfa/fwl/cfwl_widget.h"
12#include "xfa/fwl/ifwl_adaptertimermgr.h"
13#include "xfa/fxfa/xfa_ffapp.h"
14
15CFWL_TimerInfo* CFWL_Timer::StartTimer(uint32_t dwElapse, bool bImmediately) {
16  const CFWL_App* pApp = m_pWidget->GetOwnerApp();
17  if (!pApp)
18    return nullptr;
19
20  CXFA_FFApp* pAdapterNative = pApp->GetAdapterNative();
21  if (!pAdapterNative)
22    return nullptr;
23
24  IFWL_AdapterTimerMgr* pAdapterTimerMgr = pAdapterNative->GetTimerMgr();
25  if (!pAdapterTimerMgr)
26    return nullptr;
27
28  CFWL_TimerInfo* pTimerInfo = nullptr;
29  pAdapterTimerMgr->Start(this, dwElapse, bImmediately, &pTimerInfo);
30  return pTimerInfo;
31}
32