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