Chromium Code Reviews| Index: services/video_capture/video_capture_service.h |
| diff --git a/services/video_capture/video_capture_service.h b/services/video_capture/video_capture_service.h |
| index 4d85457ce9b59d069255f91259c5b14c89f1dfa4..c3795228f0b1510f7ce354adb9087b6dd339e926 100644 |
| --- a/services/video_capture/video_capture_service.h |
| +++ b/services/video_capture/video_capture_service.h |
| @@ -2,23 +2,25 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#ifndef SERVICES_VIDEO_CAPTURE_VIDEO_CAPTURE_SERVICE_H_ |
| -#define SERVICES_VIDEO_CAPTURE_VIDEO_CAPTURE_SERVICE_H_ |
| +#ifndef SERVICES_VIDEO_CAPTURE_SERVICE_H_ |
| +#define SERVICES_VIDEO_CAPTURE_SERVICE_H_ |
|
yzshen1
2016/08/16 17:55:08
Please match file path exactly.
chfremer
2016/08/16 18:34:41
Done.
|
| #include <memory> |
| #include "mojo/public/cpp/bindings/binding_set.h" |
| #include "services/shell/public/cpp/service.h" |
| -#include "services/video_capture/public/interfaces/video_capture_device_factory.mojom.h" |
| -#include "services/video_capture/video_capture_device_factory_impl.h" |
| +#include "services/video_capture/public/interfaces/video_capture_service.mojom.h" |
| namespace video_capture { |
| -// Exposes a single internal instance of VideoCaptureDeviceFactoryImpl |
| -// through a Mojo Shell Service. |
| +class VideoCaptureDeviceFactoryImpl; |
| +class FakeVideoCaptureDeviceFactoryConfiguratorImpl; |
| + |
| +// Implementation of mojom::VideoCaptureService as a Mojo Shell Service. |
| class VideoCaptureService |
| : public shell::Service, |
| - public shell::InterfaceFactory<mojom::VideoCaptureDeviceFactory> { |
| + public shell::InterfaceFactory<mojom::VideoCaptureService>, |
| + public mojom::VideoCaptureService { |
| public: |
| VideoCaptureService(); |
| ~VideoCaptureService() override; |
| @@ -27,15 +29,29 @@ class VideoCaptureService |
| bool OnConnect(const shell::Identity& remote_identity, |
| shell::InterfaceRegistry* registry) override; |
| - // shell::InterfaceFactory<mojom::VideoCaptureDeviceFactory>: |
| + // shell::InterfaceFactory<mojom::VideoCaptureService>: |
| void Create(const shell::Identity& remote_identity, |
| - mojom::VideoCaptureDeviceFactoryRequest request) override; |
| + mojom::VideoCaptureServiceRequest request) override; |
| + |
| + // mojom::VideoCaptureService |
| + void ConnectToDeviceFactory( |
| + mojom::VideoCaptureDeviceFactoryRequest request) override; |
| + void ConnectToFakeDeviceFactory( |
| + mojom::VideoCaptureDeviceFactoryRequest request) override; |
| + void ConnectToFakeDeviceFactoryConfigurator( |
| + mojom::FakeVideoCaptureDeviceFactoryConfiguratorRequest request) override; |
| private: |
| - mojo::BindingSet<mojom::VideoCaptureDeviceFactory> bindings_; |
| - VideoCaptureDeviceFactoryImpl device_factory_; |
| + mojo::BindingSet<mojom::VideoCaptureService> bindings_; |
| + mojo::BindingSet<mojom::VideoCaptureDeviceFactory> factory_bindings_; |
| + mojo::BindingSet<mojom::VideoCaptureDeviceFactory> fake_factory_bindings_; |
| + mojo::BindingSet<mojom::FakeVideoCaptureDeviceFactoryConfigurator> |
| + configurator_bindings_; |
| + std::unique_ptr<VideoCaptureDeviceFactoryImpl> device_factory_; |
| + std::unique_ptr<VideoCaptureDeviceFactoryImpl> fake_device_factory_; |
| + std::unique_ptr<FakeVideoCaptureDeviceFactoryConfiguratorImpl> configurator_; |
| }; |
| } // namespace video_capture |
| -#endif // SERVICES_VIDEO_CAPTURE_VIDEO_CAPTURE_SERVICE_H_ |
| +#endif // SERVICES_VIDEO_CAPTURE_SERVICE_H_ |