blob: df708ae31dce23c9253b30b3ffbceec7391ec05f [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"
Chris Masone2b105542011-06-22 10:58:09 -070011#include "shill/refptr_types.h"
Paul Stewartf1ce5d22011-05-19 13:10:20 -070012#include "shill/shill_event.h"
13#include "shill/service.h"
14
15namespace shill {
16
Paul Stewartf1ce5d22011-05-19 13:10:20 -070017class EthernetService : public Service {
18 public:
19 EthernetService(ControlInterface *control_interface,
20 EventDispatcher *dispatcher,
Chris Masone2b105542011-06-22 10:58:09 -070021 const EthernetRefPtr &device,
Chris Masonea82b7112011-05-25 15:16:29 -070022 const std::string& name);
Paul Stewartf1ce5d22011-05-19 13:10:20 -070023 ~EthernetService();
24 void Connect();
25 void Disconnect();
Chris Masone3bd3c8c2011-06-13 08:20:26 -070026
27 protected:
28 virtual std::string CalculateState() { return "idle"; }
29
Paul Stewartf1ce5d22011-05-19 13:10:20 -070030 private:
Chris Masone2b105542011-06-22 10:58:09 -070031 EthernetRefPtr ethernet_;
Chris Masone3bd3c8c2011-06-13 08:20:26 -070032 const std::string type_;
Paul Stewartf1ce5d22011-05-19 13:10:20 -070033 DISALLOW_COPY_AND_ASSIGN(EthernetService);
34};
35
36} // namespace shill
37
38#endif // SHILL_ETHERNET_SERVICE_