| Index: device/vr/vr_service_impl.h
|
| diff --git a/device/vr/vr_service_impl.h b/device/vr/vr_service_impl.h
|
| index 50a4471292a3ef56ea96dc61445dcef7959d95d6..00b632cefa1a37891817080c8afc70f9796e1080 100644
|
| --- a/device/vr/vr_service_impl.h
|
| +++ b/device/vr/vr_service_impl.h
|
| @@ -9,6 +9,8 @@
|
|
|
| #include "base/macros.h"
|
|
|
| +#include "device/vr/vr_device.h"
|
| +#include "device/vr/vr_device_service_impl.h"
|
| #include "device/vr/vr_export.h"
|
| #include "device/vr/vr_service.mojom.h"
|
| #include "mojo/public/cpp/bindings/binding.h"
|
| @@ -22,34 +24,30 @@ class VRServiceImpl : public VRService {
|
| DEVICE_VR_EXPORT static void BindRequest(
|
| mojo::InterfaceRequest<VRService> request);
|
|
|
| - VRServiceClientPtr& client() { return client_; }
|
| + VRDeviceServicePtr GetDeviceServicePtr(VRDevice* device);
|
|
|
| private:
|
| friend class VRServiceTestBinding;
|
| + friend class VRDeviceServiceImpl;
|
|
|
| DEVICE_VR_EXPORT VRServiceImpl();
|
|
|
| // Mojo connection handling.
|
| DEVICE_VR_EXPORT void Bind(mojo::InterfaceRequest<VRService> request);
|
| void RemoveFromDeviceManager();
|
| + void RemoveDeviceServiceImpl(VRDevice* device);
|
|
|
| // mojom::VRService implementation
|
| - void SetClient(VRServiceClientPtr client) override;
|
| void GetDisplays(const GetDisplaysCallback& callback) override;
|
| - void GetPose(uint32_t index, const GetPoseCallback& callback) override;
|
| - void ResetPose(uint32_t index) override;
|
| -
|
| - void RequestPresent(uint32_t index,
|
| - bool secureOrigin,
|
| - const RequestPresentCallback& callback) override;
|
| - void ExitPresent(uint32_t index) override;
|
| - void SubmitFrame(uint32_t index, VRPosePtr pose) override;
|
| - void UpdateLayerBounds(uint32_t index,
|
| - VRLayerBoundsPtr leftBounds,
|
| - VRLayerBoundsPtr rightBounds) override;
|
| +
|
| + using DeviceServiceMap =
|
| + std::map<VRDevice*, std::unique_ptr<VRDeviceServiceImpl>>;
|
| + DeviceServiceMap device_service_impl_;
|
| +
|
| + using DeviceServicePtrMap = std::map<VRDevice*, VRDeviceServicePtr>;
|
| + DeviceServicePtrMap device_services_;
|
|
|
| std::unique_ptr<mojo::Binding<VRService>> binding_;
|
| - VRServiceClientPtr client_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(VRServiceImpl);
|
| };
|
|
|