Home | History | Annotate | Download | only in message_loop
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H
      6 #define BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H
      7 
      8 #include "base/base_export.h"
      9 #include "base/event_types.h"
     10 
     11 #if !defined(OS_WIN)
     12 #error Should not be here.
     13 #endif
     14 
     15 namespace base {
     16 
     17 // A MessagePumpObserver is an object that receives global
     18 // notifications from the UI MessageLoop with MessagePumpWin.
     19 //
     20 // NOTE: An Observer implementation should be extremely fast!
     21 class BASE_EXPORT MessagePumpObserver {
     22  public:
     23   // This method is called before processing a NativeEvent.
     24   virtual void WillProcessEvent(const NativeEvent& event) = 0;
     25 
     26   // This method is called after processing a message.
     27   virtual void DidProcessEvent(const NativeEvent& event) = 0;
     28 
     29  protected:
     30   virtual ~MessagePumpObserver() {}
     31 };
     32 
     33 }  // namespace base
     34 
     35 #endif  // BASE_MESSAGE_LOOP_MESSAGE_PUMP_OBSERVER_H
     36