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"
14 class ApplicationImpl
;
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
> {
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
;
46 ApplicationImpl
* app_impl_
;
47 TrackingContext context_
;
48 MOJO_DISALLOW_COPY_AND_ASSIGN(TestRequestTrackerApplication
);
54 #endif // SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_