| Index: device/vr/vr_device.h
|
| diff --git a/device/vr/vr_device.h b/device/vr/vr_device.h
|
| index 4121cfcba2268b2b4bd6b17d4bafc9d6e6a1dc0b..6fcc3b7062b1601ea37c537b8497d4860bb4684a 100644
|
| --- a/device/vr/vr_device.h
|
| +++ b/device/vr/vr_device.h
|
| @@ -19,6 +19,7 @@ class BaseWindow;
|
|
|
| namespace device {
|
|
|
| +class VRServiceImpl;
|
| class VRDeviceProvider;
|
|
|
| const unsigned int VR_DEVICE_LAST_ID = 0xFFFFFFFF;
|
| @@ -30,16 +31,36 @@ class DEVICE_VR_EXPORT VRDevice {
|
|
|
| VRDeviceProvider* provider() const { return provider_; }
|
| unsigned int id() const { return id_; }
|
| -
|
| - virtual VRDisplayPtr GetVRDevice() = 0;
|
| - virtual VRPosePtr GetPose() = 0;
|
| - virtual void ResetPose() = 0;
|
| -
|
| - virtual bool RequestPresent(bool secure_origin);
|
| - virtual void ExitPresent(){};
|
| - virtual void SubmitFrame(VRPosePtr pose){};
|
| - virtual void UpdateLayerBounds(VRLayerBoundsPtr leftBounds,
|
| - VRLayerBoundsPtr rightBounds){};
|
| + void SetClient(std::vector<VRServiceImpl*>* clients);
|
| +
|
| + virtual mojom::VRDisplayPtr GetVRDevice() = 0;
|
| + virtual mojom::VRPosePtr GetPose(VRServiceImpl* service) = 0;
|
| + virtual void ResetPose(VRServiceImpl* service) = 0;
|
| +
|
| + virtual bool RequestPresent(VRServiceImpl* service, bool secure_origin) = 0;
|
| + virtual void ExitPresent(VRServiceImpl* service) = 0;
|
| + virtual void SubmitFrame(VRServiceImpl* service, mojom::VRPosePtr pose) = 0;
|
| + virtual void UpdateLayerBounds(VRServiceImpl* service,
|
| + mojom::VRLayerBoundsPtr leftBounds,
|
| + mojom::VRLayerBoundsPtr rightBounds) = 0;
|
| +
|
| + virtual void RemoveService(VRServiceImpl* service);
|
| + virtual bool CheckAccessAllowed(VRServiceImpl* service);
|
| + virtual bool IsPresentingService(VRServiceImpl* service);
|
| +
|
| + virtual void RegisterDeviceClient(VRServiceImpl* service);
|
| + virtual void UpdateDisplayInfo(VRServiceImpl* service);
|
| + virtual void OnDisplayChanged() = 0;
|
| + virtual void OnExitPresent(VRServiceImpl* service) = 0;
|
| + virtual void OnDisplayConnected() = 0;
|
| + virtual void OnDisplayDisconnected() = 0;
|
| +
|
| + protected:
|
| + // Each Service have one VRDisplay with one VRDevice.
|
| + using DisplayClientMap = std::map<VRServiceImpl*, mojom::VRDisplayClientPtr>;
|
| + DisplayClientMap display_clients_;
|
| +
|
| + VRServiceImpl* presenting_service_;
|
|
|
| private:
|
| VRDeviceProvider* provider_;
|
|
|