blob: e53a8d104010d6d6a017e15883e7c25eeecce7c7 [file] [log] [blame]
Paul Stewartf1ce5d22011-05-19 13:10:20 -07001// Copyright (c) 2011 The Chromium OS 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 SHILL_STUB_DEVICE_
6#define SHILL_STUB_DEVICE_
7
8#include <base/memory/ref_counted.h>
9#include <base/memory/scoped_ptr.h>
10
11#include <vector>
12
13#include "shill/device.h"
14#include "shill/service.h"
15#include "shill/shill_event.h"
16
17namespace shill {
18
19class ControlInterface;
20class DeviceAdaptorInterface;
21class EventDispatcher;
22class Endpoint;
23class DeviceInfo;
24class Manager;
25
26// Non-functional Device subclass used for non-operable or blacklisted devices
27class DeviceStub : public Device {
28 public:
29 DeviceStub(ControlInterface *control_interface,
30 EventDispatcher *dispatcher,
31 Manager *manager,
32 const std::string& link_name,
33 int interface_index,
34 Technology technology)
35 : Device(control_interface, dispatcher, manager, link_name,
36 interface_index),
37 technology_(technology) {}
38 void Start() {}
39 void Stop() {}
40 bool TechnologyIs(const Technology type) { return type == technology_; }
41
42 private:
43 Technology technology_;
44 DISALLOW_COPY_AND_ASSIGN(DeviceStub);
45};
46
47} // namespace shill
48
49#endif // SHILL_STUB_DEVICE_