test_time_service_impl.cc revision 116680a4aac90f2aa7413d9095a592090648e557
1// Copyright 2014 The Chromium 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#include "base/time/time.h" 6#include "mojo/public/cpp/application/application_connection.h" 7#include "mojo/services/test_service/test_request_tracker.mojom.h" 8#include "mojo/services/test_service/test_request_tracker_client_impl.h" 9#include "mojo/services/test_service/test_time_service_impl.h" 10 11namespace mojo { 12namespace test { 13 14TestTimeServiceImpl::TestTimeServiceImpl(ApplicationConnection* application) 15 : application_(application) { 16} 17 18TestTimeServiceImpl::~TestTimeServiceImpl() { 19} 20 21void TestTimeServiceImpl::StartTrackingRequests( 22 const mojo::Callback<void()>& callback) { 23 TestRequestTrackerPtr tracker; 24 application_->ConnectToService( 25 "mojo:mojo_test_request_tracker_app", &tracker); 26 tracking_.reset(new TestRequestTrackerClientImpl( 27 tracker.Pass(), Name_, callback)); 28} 29 30void TestTimeServiceImpl::GetPartyTime( 31 const mojo::Callback<void(int64_t)>& callback) { 32 if (tracking_) 33 tracking_->RecordNewRequest(); 34 base::Time frozen_time(base::Time::UnixEpoch() 35 + base::TimeDelta::FromDays(10957) 36 + base::TimeDelta::FromHours(7) 37 + base::TimeDelta::FromMinutes(59)); 38 int64 time(frozen_time.ToInternalValue()); 39 callback.Run(time); 40} 41 42} // namespace test 43} // namespace mojo 44