// Copyright 2014 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 UI_EVENTS_PLATFORM_PLATFORM_EVENT_OBSERVER_H_
#define UI_EVENTS_PLATFORM_PLATFORM_EVENT_OBSERVER_H_

#include "ui/events/events_export.h"
#include "ui/events/platform_event.h"

namespace ui {

// PlatformEventObserver can be installed on a PlatformEventSource, and it
// receives all events that are dispatched to the dispatchers.
class EVENTS_EXPORT PlatformEventObserver {
 public:
  // This is called before the dispatcher receives the event.
  virtual void WillProcessEvent(const PlatformEvent& event) = 0;

  // This is called after the event has been dispatched to the dispatcher(s).
  virtual void DidProcessEvent(const PlatformEvent& event) = 0;

 protected:
  virtual ~PlatformEventObserver() {}
};

}  // namespace ui

#endif  // UI_EVENTS_PLATFORM_PLATFORM_EVENT_OBSERVER_H_
