blob: 5031e7175e59b9ea29ee31460c288a6008f66b9e [file] [log] [blame]
Chris Masonec1e50412011-06-07 13:04: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_CONFIG_INTERFACE_
6#define SHILL_DEVICE_CONFIG_INTERFACE_
7
8#include <base/memory/ref_counted.h>
9
10namespace shill {
11class DeviceConfigInterface;
12
13typedef scoped_refptr<DeviceConfigInterface> DeviceConfigInterfaceRefPtr;
14
15// The interface by which outside parties can push configuration information
16// to devices.
17class DeviceConfigInterface : public base::RefCounted<DeviceConfigInterface> {
18 public:
19 DeviceConfigInterface() {}
20 virtual ~DeviceConfigInterface() {}
21
22 // Set IP configuration info.
23 // TODO(cmasone): figure out what data needs to be passed in here.
24 virtual void ConfigIP() = 0;
25 private:
26 friend class base::RefCounted<DeviceConfigInterface>;
27 DISALLOW_COPY_AND_ASSIGN(DeviceConfigInterface);
28};
29
30} // namespace shill
31
32#endif // SHILL_DEVICE_CONFIG_INTERFACE_