diff options
author | John Abd-El-Malek <jam@chromium.org> | 2015-04-02 10:29:35 -0700 |
---|---|---|
committer | John Abd-El-Malek <jam@chromium.org> | 2015-04-02 17:31:11 +0000 |
commit | 537a670451020f4764d511cbdf8e30ec91ef897c (patch) | |
tree | d2868da2b0d33dc7ed8c8e709ae4a7f5bd5aefd8 /mojo/services/test_service/test_request_tracker_application.cc | |
parent | 83653dd1da59dfa7ddd9e48d4cd507a11cefd968 (diff) | |
download | chromium_src-537a670451020f4764d511cbdf8e30ec91ef897c.zip chromium_src-537a670451020f4764d511cbdf8e30ec91ef897c.tar.gz chromium_src-537a670451020f4764d511cbdf8e30ec91ef897c.tar.bz2 |
Get mojo_shell building inside chromium checkout.
This brings in mojo_shell and the necessary services to make html_viewer work.
This is copied from the Mojo repo at 272fbba5887d66fc0111e2ab44c1edf67b7f23e0.
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/1049993002
Cr-Commit-Position: refs/heads/master@{#323528}
Diffstat (limited to 'mojo/services/test_service/test_request_tracker_application.cc')
-rw-r--r-- | mojo/services/test_service/test_request_tracker_application.cc | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/mojo/services/test_service/test_request_tracker_application.cc b/mojo/services/test_service/test_request_tracker_application.cc new file mode 100644 index 0000000..2fcf1f3 --- /dev/null +++ b/mojo/services/test_service/test_request_tracker_application.cc @@ -0,0 +1,63 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "mojo/services/test_service/test_request_tracker_application.h" + +#include <assert.h> + +#include "mojo/public/c/system/main.h" +#include "mojo/public/cpp/application/application_connection.h" +#include "mojo/public/cpp/application/application_runner.h" +#include "mojo/services/test_service/test_time_service_impl.h" + +namespace mojo { +namespace test { + +TestRequestTrackerApplication::TestRequestTrackerApplication() + : app_impl_(nullptr) { +} + +TestRequestTrackerApplication::~TestRequestTrackerApplication() { +} + +void TestRequestTrackerApplication::Initialize(ApplicationImpl* app) { + app_impl_ = app; +} + +bool TestRequestTrackerApplication::ConfigureIncomingConnection( + ApplicationConnection* connection) { + // Every instance of the service and recorder shares the context. + // Note, this app is single-threaded, so this is thread safe. + connection->AddService<TestTimeService>(this); + connection->AddService<TestRequestTracker>(this); + connection->AddService<TestTrackedRequestService>(this); + return true; +} + +void TestRequestTrackerApplication::Create( + ApplicationConnection* connection, + InterfaceRequest<TestTimeService> request) { + new TestTimeServiceImpl(app_impl_, request.Pass()); +} + +void TestRequestTrackerApplication::Create( + ApplicationConnection* connection, + InterfaceRequest<TestRequestTracker> request) { + new TestRequestTrackerImpl(request.Pass(), &context_); +} + +void TestRequestTrackerApplication::Create( + ApplicationConnection* connection, + InterfaceRequest<TestTrackedRequestService> request) { + new TestTrackedRequestServiceImpl(request.Pass(), &context_); +} + +} // namespace test +} // namespace mojo + +MojoResult MojoMain(MojoHandle shell_handle) { + mojo::ApplicationRunner runner( + new mojo::test::TestRequestTrackerApplication); + return runner.Run(shell_handle); +} |