shill: InputHandler: Add error callback
Input IOHandler owners now must supply a callback for handling
input exceptions. This allows individual modules to decide
whether or not this is a fatal error or not.
BUG=chromium-os:37415
TEST=New unit tests, Manual: Make sure HTTPProxy and HTTPRequest
continue to work normally
Change-Id: Idf9c106d5f2a4985fb4720f54ddb6d66c60f9173
Reviewed-on: https://gerrit.chromium.org/gerrit/40021
Commit-Queue: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/event_dispatcher.cc b/event_dispatcher.cc
index ae0bf88..393b5b3 100644
--- a/event_dispatcher.cc
+++ b/event_dispatcher.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -44,8 +44,10 @@
IOHandler *EventDispatcher::CreateInputHandler(
int fd,
- const Callback<void(InputData *)> &callback) {
- IOHandler *handler = new GlibIOInputHandler(fd, callback);
+ const IOHandler::InputCallback &input_callback,
+ const IOHandler::ErrorCallback &error_callback) {
+ IOHandler *handler = new GlibIOInputHandler(
+ fd, input_callback, error_callback);
handler->Start();
return handler;
}
@@ -53,8 +55,8 @@
IOHandler *EventDispatcher::CreateReadyHandler(
int fd,
IOHandler::ReadyMode mode,
- const Callback<void(int)> &callback) {
- IOHandler *handler = new GlibIOReadyHandler(fd, mode, callback);
+ const Callback<void(int)> &ready_callback) {
+ IOHandler *handler = new GlibIOReadyHandler(fd, mode, ready_callback);
handler->Start();
return handler;
}