blob: ae46764b23a10b4bd795680092917ff4e16815c9 [file] [log] [blame]
Darin Petkov33af05c2012-02-28 10:10:30 +01001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Chris Masone2b105542011-06-22 10:58:09 -07002// 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
Wade Guthrieefe1f0c2013-02-26 17:42:01 -080012class AttributeList;
13typedef scoped_refptr<const AttributeList> AttributeListConstRefPtr;
14typedef scoped_refptr<AttributeList> AttributeListRefPtr;
15
Chris Masone2b105542011-06-22 10:58:09 -070016class Device;
17typedef scoped_refptr<const Device> DeviceConstRefPtr;
18typedef scoped_refptr<Device> DeviceRefPtr;
19
20class Cellular;
21typedef scoped_refptr<const Cellular> CellularConstRefPtr;
22typedef scoped_refptr<Cellular> CellularRefPtr;
23
24class Ethernet;
25typedef scoped_refptr<const Ethernet> EthernetConstRefPtr;
26typedef scoped_refptr<Ethernet> EthernetRefPtr;
27
mukesh agrawal9da07772013-05-15 14:15:17 -070028class PPPDevice;
29typedef scoped_refptr<const PPPDevice> PPPDeviceConstRefPtr;
30typedef scoped_refptr<PPPDevice> PPPDeviceRefPtr;
31
32class VirtualDevice;
33typedef scoped_refptr<const VirtualDevice> VirtualDeviceConstRefPtr;
34typedef scoped_refptr<VirtualDevice> VirtualDeviceRefPtr;
Darin Petkovf20994f2012-03-05 16:12:19 +010035
Chris Masone2b105542011-06-22 10:58:09 -070036class WiFi;
37typedef scoped_refptr<const WiFi> WiFiConstRefPtr;
38typedef scoped_refptr<WiFi> WiFiRefPtr;
39
Ben Chan99c8a4d2012-05-01 08:11:53 -070040class WiMax;
41typedef scoped_refptr<const WiMax> WiMaxConstRefPtr;
42typedef scoped_refptr<WiMax> WiMaxRefPtr;
43
Chris Masone2b105542011-06-22 10:58:09 -070044class Endpoint;
45typedef scoped_refptr<const Endpoint> EndpointConstRefPtr;
46typedef scoped_refptr<Endpoint> EndpointRefPtr;
47
48class WiFiEndpoint;
49typedef scoped_refptr<const WiFiEndpoint> WiFiEndpointConstRefPtr;
50typedef scoped_refptr<WiFiEndpoint> WiFiEndpointRefPtr;
51
Chris Masone2b105542011-06-22 10:58:09 -070052class Service;
53typedef scoped_refptr<const Service> ServiceConstRefPtr;
54typedef scoped_refptr<Service> ServiceRefPtr;
55
56class CellularService;
57typedef scoped_refptr<const CellularService> CellularServiceConstRefPtr;
58typedef scoped_refptr<CellularService> CellularServiceRefPtr;
59
60class EthernetService;
61typedef scoped_refptr<const EthernetService> EthernetServiceConstRefPtr;
62typedef scoped_refptr<EthernetService> EthernetServiceRefPtr;
63
Darin Petkov33af05c2012-02-28 10:10:30 +010064class VPNService;
65typedef scoped_refptr<const VPNService> VPNServiceConstRefPtr;
66typedef scoped_refptr<VPNService> VPNServiceRefPtr;
67
Chris Masone2b105542011-06-22 10:58:09 -070068class WiFiService;
69typedef scoped_refptr<const WiFiService> WiFiServiceConstRefPtr;
70typedef scoped_refptr<WiFiService> WiFiServiceRefPtr;
71
Ben Chan99c8a4d2012-05-01 08:11:53 -070072class WiMaxService;
73typedef scoped_refptr<const WiMaxService> WiMaxServiceConstRefPtr;
74typedef scoped_refptr<WiMaxService> WiMaxServiceRefPtr;
75
Chris Masone2b105542011-06-22 10:58:09 -070076class IPConfig;
77typedef scoped_refptr<IPConfig> IPConfigRefPtr;
78
79class DHCPConfig;
80typedef scoped_refptr<DHCPConfig> DHCPConfigRefPtr;
81
Chris Masone7aa5f902011-07-11 11:13:35 -070082class Profile;
mukesh agrawalbebf1b82013-04-23 15:06:33 -070083typedef scoped_refptr<const Profile> ProfileConstRefPtr;
Chris Masone7aa5f902011-07-11 11:13:35 -070084typedef scoped_refptr<Profile> ProfileRefPtr;
85
Paul Stewartdd60e452011-08-08 11:38:36 -070086class Connection;
87typedef scoped_refptr<Connection> ConnectionRefPtr;
88
Chris Masone2b105542011-06-22 10:58:09 -070089} // namespace shill
90
91#endif // SHILL_REFPTR_TYPES_