// Copyright (c) 2011 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_MOCK_CONTROL_
#define SHILL_MOCK_CONTROL_

#include "shill/control_interface.h"

namespace shill {
// This is the Interface for the control channel for Shill.
class MockControl : public ControlInterface {
 public:
  ManagerAdaptorInterface *CreateManagerAdaptor(Manager *manager);
  ServiceAdaptorInterface *CreateServiceAdaptor(Service *service);
  DeviceAdaptorInterface *CreateDeviceAdaptor(Device *device);
};

}  // namespace shill

#endif  // SHILL_MOCK_CONTROL_
