1 // Copyright 2013 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 MOJO_MESSAGE_PUMP_MESSAGE_PUMP_MOJO_HANDLER_H_ 6 #define MOJO_MESSAGE_PUMP_MESSAGE_PUMP_MOJO_HANDLER_H_ 7 8 #include "mojo/message_pump/mojo_message_pump_export.h" 9 #include "mojo/public/cpp/system/core.h" 10 11 namespace mojo { 12 namespace common { 13 14 // Used by MessagePumpMojo to notify when a handle is either ready or has become 15 // invalid. In case of error, the handler will be removed. 16 class MOJO_MESSAGE_PUMP_EXPORT MessagePumpMojoHandler { 17 public: 18 virtual void OnHandleReady(const Handle& handle) = 0; 19 20 virtual void OnHandleError(const Handle& handle, MojoResult result) = 0; 21 22 protected: ~MessagePumpMojoHandler()23 virtual ~MessagePumpMojoHandler() {} 24 }; 25 26 } // namespace common 27 } // namespace mojo 28 29 #endif // MOJO_MESSAGE_PUMP_MESSAGE_PUMP_MOJO_HANDLER_H_ 30