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