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

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

Issue 1674903003: Extract shell methods from ApplicationImpl into a base class, and pass this to Initialize() instead. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojom
Patch Set: . Created 4 years, 10 months 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 SERVICES_TEST_SERVICE_TEST_SERVICE_APPLICATION_H_ 5 #ifndef SERVICES_TEST_SERVICE_TEST_SERVICE_APPLICATION_H_
6 #define SERVICES_TEST_SERVICE_TEST_SERVICE_APPLICATION_H_ 6 #define SERVICES_TEST_SERVICE_TEST_SERVICE_APPLICATION_H_
7 7
8 #include "mojo/public/cpp/system/macros.h" 8 #include "mojo/public/cpp/system/macros.h"
9 #include "mojo/shell/public/cpp/application_delegate.h" 9 #include "mojo/shell/public/cpp/application_delegate.h"
10 #include "mojo/shell/public/cpp/interface_factory.h" 10 #include "mojo/shell/public/cpp/interface_factory.h"
11 11
12 namespace mojo { 12 namespace mojo {
13 class ApplicationConnection; 13 class ApplicationConnection;
14 14
15 namespace test { 15 namespace test {
16 class TestService; 16 class TestService;
17 class TestTimeService; 17 class TestTimeService;
18 18
19 class TestServiceApplication : public ApplicationDelegate, 19 class TestServiceApplication : public ApplicationDelegate,
20 public InterfaceFactory<TestService>, 20 public InterfaceFactory<TestService>,
21 public InterfaceFactory<TestTimeService> { 21 public InterfaceFactory<TestTimeService> {
22 public: 22 public:
23 TestServiceApplication(); 23 TestServiceApplication();
24 ~TestServiceApplication() override; 24 ~TestServiceApplication() override;
25 25
26 void Initialize(ApplicationImpl* app) override;
27
28 // ApplicationDelegate implementation. 26 // ApplicationDelegate implementation.
27 void Initialize(Shell* shell, const std::string& url, uint32_t id) override;
29 bool AcceptConnection(ApplicationConnection* connection) override; 28 bool AcceptConnection(ApplicationConnection* connection) override;
30 29
31 // InterfaceFactory<TestService> implementation. 30 // InterfaceFactory<TestService> implementation.
32 void Create(ApplicationConnection* connection, 31 void Create(ApplicationConnection* connection,
33 InterfaceRequest<TestService> request) override; 32 InterfaceRequest<TestService> request) override;
34 33
35 // InterfaceFactory<TestTimeService> implementation. 34 // InterfaceFactory<TestTimeService> implementation.
36 void Create(ApplicationConnection* connection, 35 void Create(ApplicationConnection* connection,
37 InterfaceRequest<TestTimeService> request) override; 36 InterfaceRequest<TestTimeService> request) override;
38 37
39 void AddRef(); 38 void AddRef();
40 void ReleaseRef(); 39 void ReleaseRef();
41 40
42 private: 41 private:
43 int ref_count_; 42 int ref_count_;
44 ApplicationImpl* app_impl_; 43 Shell* shell_;
45 44
46 MOJO_DISALLOW_COPY_AND_ASSIGN(TestServiceApplication); 45 MOJO_DISALLOW_COPY_AND_ASSIGN(TestServiceApplication);
47 }; 46 };
48 47
49 } // namespace test 48 } // namespace test
50 } // namespace mojo 49 } // namespace mojo
51 50
52 #endif // SERVICES_TEST_SERVICE_TEST_SERVICE_APPLICATION_H_ 51 #endif // SERVICES_TEST_SERVICE_TEST_SERVICE_APPLICATION_H_
OLDNEW
« no previous file with comments | « mojo/services/test_service/test_request_tracker_application.cc ('k') | mojo/services/test_service/test_service_application.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698