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_ |
#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_ |