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 MOJO_SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_
6 #define MOJO_SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_
8 #include "mojo/public/cpp/application/application_delegate.h"
9 #include "mojo/public/cpp/application/interface_factory_impl.h"
10 #include "mojo/public/cpp/system/macros.h"
11 #include "mojo/services/test_service/test_request_tracker_impl.h"
15 class TestTimeService;
17 // Embeds TestRequestTracker mojo services into an application.
18 class TestRequestTrackerApplication : public ApplicationDelegate,
19 public InterfaceFactory<TestTimeService> {
21 TestRequestTrackerApplication();
22 virtual ~TestRequestTrackerApplication();
24 // ApplicationDelegate methods:
25 virtual bool ConfigureIncomingConnection(ApplicationConnection* connection)
28 // InterfaceFactory<TestTimeService> methods:
29 virtual void Create(ApplicationConnection* connection,
30 InterfaceRequest<TestTimeService> request) MOJO_OVERRIDE;
33 TrackingContext context_;
34 typedef InterfaceFactoryImplWithContext<TestTrackedRequestServiceImpl,
36 TestTrackedRequestFactory;
37 TestTrackedRequestFactory test_tracked_request_factory_;
38 typedef InterfaceFactoryImplWithContext<TestRequestTrackerImpl,
40 TestRequestTrackerFactory;
41 TestRequestTrackerFactory test_request_tracker_factory_;
42 MOJO_DISALLOW_COPY_AND_ASSIGN(TestRequestTrackerApplication);
48 #endif // MOJO_SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_