blob: 26a9e2e8ae17ed6be9896c10919a2db72be59457 [file] [log] [blame]
Paul Stewart75897df2011-04-27 09:05:53 -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_DEVICE_
6#define SHILL_DEVICE_
7
8#include "shill/resource.h"
9#include "shill/shill_event.h"
10
11namespace shill {
12
13// Device superclass. Individual network interfaces types will inherit from
14// this class.
15class Device : public Resource {
16 public:
17 // A constructor for the Device object
18 explicit Device(ControlInterface *control_interface,
19 EventDispatcher *dispatcher);
20 ~Device();
21 void Start();
22 void Stop();
23
24 private:
Chris Masone413a3192011-05-09 17:10:05 -070025 DeviceAdaptorInterface *adaptor_;
Paul Stewart75897df2011-04-27 09:05:53 -070026 bool running_;
Chris Masone413a3192011-05-09 17:10:05 -070027 friend class DeviceAdaptorInterface;
Paul Stewart75897df2011-04-27 09:05:53 -070028};
29
30} // namespace shill
31
32#endif // SHILL_DEVICE_