[M47_2526] Chromium upversion to m47_2526 branch
[platform/framework/web/chromium-efl.git] / tizen_src / chromium_impl / device / vibration / vibration_manager_impl_efl.h
index 3c896bd..1ee4889 100644 (file)
 #include "base/memory/scoped_ptr.h"
 #include "device/vibration/vibration_export.h"
 #include "device/vibration/vibration_provider_client.h"
+#include "third_party/mojo/src/mojo/public/cpp/bindings/strong_binding.h"
 
 namespace device {
 
-class DEVICE_VIBRATION_EXPORT VibrationManagerImplEfl : public mojo::InterfaceImpl<VibrationManager> {
+class DEVICE_VIBRATION_EXPORT VibrationManagerImplEfl : public VibrationManager {
  public:
-  static VibrationManagerImplEfl* Create();
+  explicit VibrationManagerImplEfl(
+      mojo::InterfaceRequest<VibrationManager> request)
+      : binding_(this, request.Pass()) {}
+  ~VibrationManagerImplEfl() override {}
 
   void Vibrate(int64 milliseconds) override;
   void Cancel() override;
@@ -24,9 +28,12 @@ class DEVICE_VIBRATION_EXPORT VibrationManagerImplEfl : public mojo::InterfaceIm
   static void RegisterProviderClient(VibrationProviderClient* provider_client);
 
  private:
+  friend VibrationManagerImpl;
+
+  // The binding between this object and the other end of the pipe.
+  mojo::StrongBinding<VibrationManager> binding_;
+
   static scoped_ptr<VibrationProviderClient> provider_client_;
-  VibrationManagerImplEfl() {}
-  ~VibrationManagerImplEfl() override {}
 };
 
 }  // namespace device