blob: 18868544b0e45ef1269c4f73aed8c656f52b04cb [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_ETHERNET_SERVICE_
6#define SHILL_ETHERNET_SERVICE_
7
8#include <base/basictypes.h>
9
10#include "shill/ethernet.h"
11#include "shill/device.h"
12#include "shill/shill_event.h"
13#include "shill/service.h"
14
15namespace shill {
16
17
18class Ethernet;
19
20class EthernetService : public Service {
21 public:
22 EthernetService(ControlInterface *control_interface,
23 EventDispatcher *dispatcher,
Chris Masonea82b7112011-05-25 15:16:29 -070024 Ethernet *device,
25 const std::string& name);
Paul Stewartf1ce5d22011-05-19 13:10:20 -070026 ~EthernetService();
27 void Connect();
28 void Disconnect();
Chris Masone3bd3c8c2011-06-13 08:20:26 -070029
30 protected:
31 virtual std::string CalculateState() { return "idle"; }
32
Paul Stewartf1ce5d22011-05-19 13:10:20 -070033 private:
34 Ethernet *ethernet_;
Chris Masone3bd3c8c2011-06-13 08:20:26 -070035 const std::string type_;
Paul Stewartf1ce5d22011-05-19 13:10:20 -070036 DISALLOW_COPY_AND_ASSIGN(EthernetService);
37};
38
39} // namespace shill
40
41#endif // SHILL_ETHERNET_SERVICE_