Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / mojo / services / test_service / test_request_tracker_application.h
bloba009f628e7d8822b971eca2096e87a2d3bc2731b
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.
5 #ifndef SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_
6 #define SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_
8 #include "mojo/application/public/cpp/application_delegate.h"
9 #include "mojo/application/public/cpp/interface_factory_impl.h"
10 #include "mojo/public/cpp/system/macros.h"
11 #include "mojo/services/test_service/test_request_tracker_impl.h"
13 namespace mojo {
14 class ApplicationImpl;
15 namespace test {
16 class TestTimeService;
18 // Embeds TestRequestTracker mojo services into an application.
19 class TestRequestTrackerApplication
20 : public ApplicationDelegate,
21 public InterfaceFactory<TestTimeService>,
22 public InterfaceFactory<TestRequestTracker>,
23 public InterfaceFactory<TestTrackedRequestService> {
24 public:
25 TestRequestTrackerApplication();
26 ~TestRequestTrackerApplication() override;
28 void Initialize(ApplicationImpl* app) override;
30 // ApplicationDelegate methods:
31 bool ConfigureIncomingConnection(ApplicationConnection* connection) override;
33 // InterfaceFactory<TestTimeService> methods:
34 void Create(ApplicationConnection* connection,
35 InterfaceRequest<TestTimeService> request) override;
37 // InterfaceFactory<TestRequestTracker> methods:
38 void Create(ApplicationConnection* connection,
39 InterfaceRequest<TestRequestTracker> request) override;
41 // InterfaceFactory<TestTrackedRequestService> methods:
42 void Create(ApplicationConnection* connection,
43 InterfaceRequest<TestTrackedRequestService> request) override;
45 private:
46 ApplicationImpl* app_impl_;
47 TrackingContext context_;
48 MOJO_DISALLOW_COPY_AND_ASSIGN(TestRequestTrackerApplication);
51 } // namespace test
52 } // namespace mojo
54 #endif // SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_