blob: eedcd476070d0e22997bc9ff75b19ee90d1b016b [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
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
Darin Petkovf20994f2012-03-05 16:12:19 +010024class VPN;
25typedef scoped_refptr<const VPN> VPNConstRefPtr;
26typedef scoped_refptr<VPN> VPNRefPtr;
27
Chris Masone2b105542011-06-22 10:58:09 -070028class WiFi;
29typedef scoped_refptr<const WiFi> WiFiConstRefPtr;
30typedef scoped_refptr<WiFi> WiFiRefPtr;
31
Ben Chan99c8a4d2012-05-01 08:11:53 -070032class WiMax;
33typedef scoped_refptr<const WiMax> WiMaxConstRefPtr;
34typedef scoped_refptr<WiMax> WiMaxRefPtr;
35
Chris Masone2b105542011-06-22 10:58:09 -070036class Endpoint;
37typedef scoped_refptr<const Endpoint> EndpointConstRefPtr;
38typedef scoped_refptr<Endpoint> EndpointRefPtr;
39
40class WiFiEndpoint;
41typedef scoped_refptr<const WiFiEndpoint> WiFiEndpointConstRefPtr;
42typedef scoped_refptr<WiFiEndpoint> WiFiEndpointRefPtr;
43
Chris Masone2b105542011-06-22 10:58:09 -070044class Service;
45typedef scoped_refptr<const Service> ServiceConstRefPtr;
46typedef scoped_refptr<Service> ServiceRefPtr;
47
48class CellularService;
49typedef scoped_refptr<const CellularService> CellularServiceConstRefPtr;
50typedef scoped_refptr<CellularService> CellularServiceRefPtr;
51
52class EthernetService;
53typedef scoped_refptr<const EthernetService> EthernetServiceConstRefPtr;
54typedef scoped_refptr<EthernetService> EthernetServiceRefPtr;
55
Darin Petkov33af05c2012-02-28 10:10:30 +010056class VPNService;
57typedef scoped_refptr<const VPNService> VPNServiceConstRefPtr;
58typedef scoped_refptr<VPNService> VPNServiceRefPtr;
59
Chris Masone2b105542011-06-22 10:58:09 -070060class WiFiService;
61typedef scoped_refptr<const WiFiService> WiFiServiceConstRefPtr;
62typedef scoped_refptr<WiFiService> WiFiServiceRefPtr;
63
Ben Chan99c8a4d2012-05-01 08:11:53 -070064class WiMaxService;
65typedef scoped_refptr<const WiMaxService> WiMaxServiceConstRefPtr;
66typedef scoped_refptr<WiMaxService> WiMaxServiceRefPtr;
67
Chris Masone2b105542011-06-22 10:58:09 -070068class IPConfig;
69typedef scoped_refptr<IPConfig> IPConfigRefPtr;
70
71class DHCPConfig;
72typedef scoped_refptr<DHCPConfig> DHCPConfigRefPtr;
73
Chris Masone7aa5f902011-07-11 11:13:35 -070074class Profile;
75typedef scoped_refptr<Profile> ProfileRefPtr;
76
Paul Stewartdd60e452011-08-08 11:38:36 -070077class Connection;
78typedef scoped_refptr<Connection> ConnectionRefPtr;
79
Chris Masone2b105542011-06-22 10:58:09 -070080} // namespace shill
81
82#endif // SHILL_REFPTR_TYPES_