blob: 7813093f2a345da4c05b9f3079539acd614e4396 [file] [log] [blame]
// 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.
#ifndef SHILL_GLIB_IO_INPUT_HANDLER_
#define SHILL_GLIB_IO_INPUT_HANDLER_
#include <stdio.h>
#include <glib.h>
#include <base/callback.h>
#include "shill/io_handler.h"
namespace shill {
class GlibIOInputHandler : public IOHandler {
public:
GlibIOInputHandler(int fd,
const InputCallback &input_callback,
const ErrorCallback &error_callback);
~GlibIOInputHandler();
virtual void Start();
virtual void Stop();
const InputCallback &input_callback() { return input_callback_; }
const ErrorCallback &error_callback() { return error_callback_; }
private:
GIOChannel *channel_;
InputCallback input_callback_;
ErrorCallback error_callback_;
guint source_id_;
};
} // namespace shill
#endif // SHILL_GLIB_IO_INPUT_HANDLER_