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_PUBLIC_CPP_UTILITY_RUN_LOOP_HANDLER_H_ 6 #define MOJO_PUBLIC_CPP_UTILITY_RUN_LOOP_HANDLER_H_ 7 8 #include "mojo/public/cpp/system/core.h" 9 10 namespace mojo { 11 12 // Used by RunLoop to notify when a handle is either ready or has become 13 // invalid. 14 class RunLoopHandler { 15 public: 16 virtual void OnHandleReady(const Handle& handle) = 0; 17 virtual void OnHandleError(const Handle& handle, MojoResult result) = 0; 18 19 protected: ~RunLoopHandler()20 virtual ~RunLoopHandler() {} 21 }; 22 23 } // namespace mojo 24 25 #endif // MOJO_PUBLIC_CPP_UTILITY_RUN_LOOP_HANDLER_H_ 26