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 11 namespace mojo { 12 namespace test { 13 TestTimeServiceImpl(ApplicationConnection * application)14TestTimeServiceImpl::TestTimeServiceImpl(ApplicationConnection* application) 15 : application_(application) { 16 } 17 ~TestTimeServiceImpl()18TestTimeServiceImpl::~TestTimeServiceImpl() { 19 } 20 StartTrackingRequests(const mojo::Callback<void ()> & callback)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 GetPartyTime(const mojo::Callback<void (int64_t)> & callback)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