Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / mojo / services / test_service / test_service_application.h
blob06d24746b57ab9e77e82a0686f3260ec00481759
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_SERVICE_APPLICATION_H_
6 #define MOJO_SERVICES_TEST_SERVICE_TEST_SERVICE_APPLICATION_H_
8 #include "mojo/public/cpp/application/application_delegate.h"
9 #include "mojo/public/cpp/application/interface_factory.h"
10 #include "mojo/public/cpp/system/macros.h"
12 namespace mojo {
13 class ApplicationConnection;
15 namespace test {
16 class TestService;
17 class TestTimeService;
19 class TestServiceApplication : public ApplicationDelegate,
20 public InterfaceFactory<TestService>,
21 public InterfaceFactory<TestTimeService> {
22 public:
23 TestServiceApplication();
24 virtual ~TestServiceApplication();
26 // ApplicationDelegate implementation.
27 virtual bool ConfigureIncomingConnection(ApplicationConnection* connection)
28 MOJO_OVERRIDE;
30 // InterfaceFactory<TestService> implementation.
31 virtual void Create(ApplicationConnection* connection,
32 InterfaceRequest<TestService> request) MOJO_OVERRIDE;
34 // InterfaceFactory<TestTimeService> implementation.
35 virtual void Create(ApplicationConnection* connection,
36 InterfaceRequest<TestTimeService> request) MOJO_OVERRIDE;
38 void AddRef();
39 void ReleaseRef();
41 private:
42 int ref_count_;
44 MOJO_DISALLOW_COPY_AND_ASSIGN(TestServiceApplication);
47 } // namespace test
48 } // namespace mojo
50 #endif // MOJO_SERVICES_TEST_SERVICE_TEST_SERVICE_APPLICATION_H_