blob: d6e7abf786adab9d685e0d616cebd8e32a665358 [file] [log] [blame]
// Copyright (c) 2012 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 BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H
#define BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H
#include "base/base_export.h"
#include "base/event_types.h"
#if !defined(OS_WIN)
#error Should not be here.
#endif
namespace base {
// A MessagePumpObserver is an object that receives global
// notifications from the UI MessageLoop with MessagePumpWin.
//
// NOTE: An Observer implementation should be extremely fast!
class BASE_EXPORT MessagePumpObserver {
public:
// This method is called before processing a NativeEvent.
virtual void WillProcessEvent(const NativeEvent& event) = 0;
// This method is called after processing a message.
virtual void DidProcessEvent(const NativeEvent& event) = 0;
protected:
virtual ~MessagePumpObserver() {}
};
} // namespace base
#endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H