Index: content/browser/vr/vr_service_consumer.h |
diff --git a/content/browser/vr/vr_service_consumer.h b/content/browser/vr/vr_service_consumer.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c605a3aabddbed34f48b05ea0a8dfd3a79e4d813 |
--- /dev/null |
+++ b/content/browser/vr/vr_service_consumer.h |
@@ -0,0 +1,37 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CONTENT_BROWSER_VR_VR_SERVICE_CONSUMER_H |
+#define CONTENT_BROWSER_VR_VR_SERVICE_CONSUMER_H |
+ |
+#include "base/basictypes.h" |
+#include "content/common/content_export.h" |
+ |
+namespace content { |
+ |
+class VRService; |
+ |
+// Provides a consistent mechanism for tracking objects which use the VRService. |
+// In the future may also provide an interface for the service to push messages. |
+class CONTENT_EXPORT VRServiceConsumer { |
+ public: |
+ VRServiceConsumer(); |
+ // Constructor for testing. |
+ explicit VRServiceConsumer(VRService* service); |
+ |
+ virtual ~VRServiceConsumer(); |
+ |
+ // Returns the VRService singleton. |
+ VRService* GetServiceInstance(); |
+ |
+ private: |
+ VRService* service_; |
+ bool registered_with_service_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(VRServiceConsumer); |
+}; |
+ |
+} // namespace content |
+ |
+#endif // CONTENT_BROWSER_VR_VR_SERVICE_CONSUMER_H |