OLD | NEW |
| (Empty) |
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 | |
14 TestTimeServiceImpl::TestTimeServiceImpl( | |
15 ApplicationConnection* application, | |
16 InterfaceRequest<TestTimeService> request) | |
17 : application_(application), binding_(this, request.Pass()) { | |
18 } | |
19 | |
20 TestTimeServiceImpl::~TestTimeServiceImpl() { | |
21 } | |
22 | |
23 void TestTimeServiceImpl::StartTrackingRequests( | |
24 const mojo::Callback<void()>& callback) { | |
25 TestRequestTrackerPtr tracker; | |
26 application_->ConnectToService("mojo:test_request_tracker_app", &tracker); | |
27 tracking_.reset(new TestRequestTrackerClientImpl( | |
28 tracker.Pass(), Name_, callback)); | |
29 } | |
30 | |
31 void TestTimeServiceImpl::GetPartyTime( | |
32 const mojo::Callback<void(int64_t)>& callback) { | |
33 if (tracking_) | |
34 tracking_->RecordNewRequest(); | |
35 base::Time frozen_time(base::Time::UnixEpoch() | |
36 + base::TimeDelta::FromDays(10957) | |
37 + base::TimeDelta::FromHours(7) | |
38 + base::TimeDelta::FromMinutes(59)); | |
39 int64 time(frozen_time.ToInternalValue()); | |
40 callback.Run(time); | |
41 } | |
42 | |
43 } // namespace test | |
44 } // namespace mojo | |
OLD | NEW |