blob: 8a1dbd927af068ab38faace4880335a0cd6bde80 [file] [log] [blame]
Chris Masone2b105542011-06-22 10:58:09 -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_REFPTR_TYPES_
6#define SHILL_REFPTR_TYPES_
7
8#include <base/memory/ref_counted.h>
9
10namespace shill {
11
Chris Masone2b105542011-06-22 10:58:09 -070012class Device;
13typedef scoped_refptr<const Device> DeviceConstRefPtr;
14typedef scoped_refptr<Device> DeviceRefPtr;
15
16class Cellular;
17typedef scoped_refptr<const Cellular> CellularConstRefPtr;
18typedef scoped_refptr<Cellular> CellularRefPtr;
19
20class Ethernet;
21typedef scoped_refptr<const Ethernet> EthernetConstRefPtr;
22typedef scoped_refptr<Ethernet> EthernetRefPtr;
23
24class WiFi;
25typedef scoped_refptr<const WiFi> WiFiConstRefPtr;
26typedef scoped_refptr<WiFi> WiFiRefPtr;
27
Chris Masone2b105542011-06-22 10:58:09 -070028class Endpoint;
29typedef scoped_refptr<const Endpoint> EndpointConstRefPtr;
30typedef scoped_refptr<Endpoint> EndpointRefPtr;
31
32class WiFiEndpoint;
33typedef scoped_refptr<const WiFiEndpoint> WiFiEndpointConstRefPtr;
34typedef scoped_refptr<WiFiEndpoint> WiFiEndpointRefPtr;
35
Chris Masone2b105542011-06-22 10:58:09 -070036class Service;
37typedef scoped_refptr<const Service> ServiceConstRefPtr;
38typedef scoped_refptr<Service> ServiceRefPtr;
39
40class CellularService;
41typedef scoped_refptr<const CellularService> CellularServiceConstRefPtr;
42typedef scoped_refptr<CellularService> CellularServiceRefPtr;
43
44class EthernetService;
45typedef scoped_refptr<const EthernetService> EthernetServiceConstRefPtr;
46typedef scoped_refptr<EthernetService> EthernetServiceRefPtr;
47
48class WiFiService;
49typedef scoped_refptr<const WiFiService> WiFiServiceConstRefPtr;
50typedef scoped_refptr<WiFiService> WiFiServiceRefPtr;
51
Chris Masone2b105542011-06-22 10:58:09 -070052class IPConfig;
53typedef scoped_refptr<IPConfig> IPConfigRefPtr;
54
55class DHCPConfig;
56typedef scoped_refptr<DHCPConfig> DHCPConfigRefPtr;
57
Chris Masone7aa5f902011-07-11 11:13:35 -070058class Profile;
59typedef scoped_refptr<Profile> ProfileRefPtr;
60
Chris Masone2b105542011-06-22 10:58:09 -070061} // namespace shill
62
63#endif // SHILL_REFPTR_TYPES_