#ifndef UI_EVENTS_OZONE_EVDEV_EVENT_CONVERTER_EVDEV_H_
#define UI_EVENTS_OZONE_EVDEV_EVENT_CONVERTER_EVDEV_H_
#include "base/basictypes.h"
#include "base/bind.h"
#include "base/memory/scoped_ptr.h"
#include "ui/events/events_export.h"
namespace ui {
class Event;
class EventModifiersEvdev;
class EVENTS_EXPORT EventConverterEvdev {
 public:
  EventConverterEvdev();
  virtual ~EventConverterEvdev();
  void SetDispatchCallback(base::Callback<void(void*)> callback) {
    dispatch_callback_ = callback;
  }
  
  virtual void Start() = 0;
  
  virtual void Stop() = 0;
 protected:
  
  
  virtual void DispatchEventToCallback(ui::Event* event);
 private:
  base::Callback<void(void*)> dispatch_callback_;
  DISALLOW_COPY_AND_ASSIGN(EventConverterEvdev);
};
}  
#endif