Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: mojo/services/test_service/test_request_tracker_application.h

Issue 718473003: Add mojo::Binding<Interface> for more flexible pipe<->impl binding (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MOJO_SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_ 5 #ifndef MOJO_SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_
6 #define MOJO_SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_ 6 #define MOJO_SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_
7 7
8 #include "mojo/public/cpp/application/application_delegate.h" 8 #include "mojo/public/cpp/application/application_delegate.h"
9 #include "mojo/public/cpp/application/interface_factory_impl.h" 9 #include "mojo/public/cpp/application/interface_factory_impl.h"
10 #include "mojo/public/cpp/system/macros.h" 10 #include "mojo/public/cpp/system/macros.h"
11 #include "mojo/services/test_service/test_request_tracker_impl.h" 11 #include "mojo/services/test_service/test_request_tracker_impl.h"
12 12
13 namespace mojo { 13 namespace mojo {
14 namespace test { 14 namespace test {
15 class TestTimeService; 15 class TestTimeService;
16 16
17 // Embeds TestRequestTracker mojo services into an application. 17 // Embeds TestRequestTracker mojo services into an application.
18 class TestRequestTrackerApplication : public ApplicationDelegate, 18 class TestRequestTrackerApplication
19 public InterfaceFactory<TestTimeService> { 19 : public ApplicationDelegate,
20 public InterfaceFactory<TestTimeService>,
21 public InterfaceFactory<TestRequestTracker> {
20 public: 22 public:
21 TestRequestTrackerApplication(); 23 TestRequestTrackerApplication();
22 ~TestRequestTrackerApplication() override; 24 ~TestRequestTrackerApplication() override;
23 25
24 // ApplicationDelegate methods: 26 // ApplicationDelegate methods:
25 bool ConfigureIncomingConnection(ApplicationConnection* connection) override; 27 bool ConfigureIncomingConnection(ApplicationConnection* connection) override;
26 28
27 // InterfaceFactory<TestTimeService> methods: 29 // InterfaceFactory<TestTimeService> methods:
28 void Create(ApplicationConnection* connection, 30 void Create(ApplicationConnection* connection,
29 InterfaceRequest<TestTimeService> request) override; 31 InterfaceRequest<TestTimeService> request) override;
30 32
33 // InterfaceFactory<TestRequestTracker> methods:
34 void Create(ApplicationConnection* connection,
35 InterfaceRequest<TestRequestTracker> request) override;
36
31 private: 37 private:
32 TrackingContext context_; 38 TrackingContext context_;
33 typedef InterfaceFactoryImplWithContext<TestTrackedRequestServiceImpl, 39 typedef InterfaceFactoryImplWithContext<TestTrackedRequestServiceImpl,
34 TrackingContext> 40 TrackingContext>
35 TestTrackedRequestFactory; 41 TestTrackedRequestFactory;
36 TestTrackedRequestFactory test_tracked_request_factory_; 42 TestTrackedRequestFactory test_tracked_request_factory_;
37 typedef InterfaceFactoryImplWithContext<TestRequestTrackerImpl,
38 TrackingContext>
39 TestRequestTrackerFactory;
40 TestRequestTrackerFactory test_request_tracker_factory_;
41 MOJO_DISALLOW_COPY_AND_ASSIGN(TestRequestTrackerApplication); 43 MOJO_DISALLOW_COPY_AND_ASSIGN(TestRequestTrackerApplication);
42 }; 44 };
43 45
44 } // namespace test 46 } // namespace test
45 } // namespace mojo 47 } // namespace mojo
46 48
47 #endif // MOJO_SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_ 49 #endif // MOJO_SERVICES_TEST_SERVICE_TEST_REQUEST_TRACKER_APPLICATION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698