blob: e0e816352e4b231cbe74d1b3f23afe77caa9756c [file] [log] [blame]
// Copyright 2014 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_NET_IO_HANDLER_FACTORY_H_
#define SHILL_NET_IO_HANDLER_FACTORY_H_
#include "shill/net/io_handler.h"
namespace shill {
class IOHandlerFactory {
public:
IOHandlerFactory();
virtual ~IOHandlerFactory();
virtual IOHandler *CreateIOInputHandler(
int fd,
const IOHandler::InputCallback &input_callback,
const IOHandler::ErrorCallback &error_callback);
virtual IOHandler *CreateIOReadyHandler(
int fd,
IOHandler::ReadyMode mode,
const IOHandler::ReadyCallback &input_callback);
private:
DISALLOW_COPY_AND_ASSIGN(IOHandlerFactory);
};
} // namespace shill
#endif // SHILL_NET_IO_HANDLER_FACTORY_H_