| Index: device/vr/android/gvr/gvr_device_provider.h
|
| diff --git a/device/vr/android/gvr/gvr_device_provider.h b/device/vr/android/gvr/gvr_device_provider.h
|
| index 4c6c9495f8350d4cd0952a909210a14ab476d6f6..bffbf2350a319c80cd2e00042b882d5b9f46f1ce 100644
|
| --- a/device/vr/android/gvr/gvr_device_provider.h
|
| +++ b/device/vr/android/gvr/gvr_device_provider.h
|
| @@ -8,16 +8,19 @@
|
| #include <memory>
|
|
|
| #include "base/macros.h"
|
| -#include "device/vr/android/gvr/gvr_delegate.h"
|
| +#include "base/single_thread_task_runner.h"
|
| #include "device/vr/vr_client_dispatcher.h"
|
| #include "device/vr/vr_device.h"
|
| #include "device/vr/vr_device_provider.h"
|
| +#include "device/vr/vr_export.h"
|
|
|
| namespace device {
|
|
|
| -class GvrDeviceProviderDelegate;
|
| +class GvrDelegate;
|
| +class GvrDevice;
|
| +class GvrNonPresentingDelegate;
|
|
|
| -class GvrDeviceProvider : public VRDeviceProvider, public GvrDelegateClient {
|
| +class DEVICE_VR_EXPORT GvrDeviceProvider : public VRDeviceProvider {
|
| public:
|
| GvrDeviceProvider();
|
| ~GvrDeviceProvider() override;
|
| @@ -25,16 +28,25 @@ class GvrDeviceProvider : public VRDeviceProvider, public GvrDelegateClient {
|
| void GetDevices(std::vector<VRDevice*>* devices) override;
|
| void Initialize() override;
|
|
|
| - // GvrDelegateClient
|
| - void OnDelegateInitialized(GvrDelegate* delegate) override;
|
| - void OnDelegateShutdown() override;
|
| + // Called from GvrDevice
|
| + bool RequestPresent();
|
| + void ExitPresent();
|
| +
|
| + // Called from GvrDelegate
|
| + void OnGvrDelegateReady(GvrDelegate* delegate);
|
| + void OnGvrDelegateRemoved();
|
|
|
| void SetClient(VRClientDispatcher* client) override;
|
|
|
| private:
|
| + void GvrDelegateReady(GvrDelegate* delegate);
|
| + void GvrDelegateRemoved();
|
| +
|
| std::unique_ptr<VRClientDispatcher> client_;
|
| - std::unique_ptr<VRDevice> vr_device_;
|
| - std::unique_ptr<GvrDeviceProviderDelegate> delegate_;
|
| + std::unique_ptr<GvrDevice> vr_device_;
|
| + std::unique_ptr<GvrNonPresentingDelegate> non_presenting_delegate_;
|
| +
|
| + scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(GvrDeviceProvider);
|
| };
|
|
|