blob: fa03e6ecb8318f033eb38c110cd565517e19b1a8 [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
12// Device and derived classes.
13class Device;
14typedef scoped_refptr<const Device> DeviceConstRefPtr;
15typedef scoped_refptr<Device> DeviceRefPtr;
16
17class Cellular;
18typedef scoped_refptr<const Cellular> CellularConstRefPtr;
19typedef scoped_refptr<Cellular> CellularRefPtr;
20
21class Ethernet;
22typedef scoped_refptr<const Ethernet> EthernetConstRefPtr;
23typedef scoped_refptr<Ethernet> EthernetRefPtr;
24
25class WiFi;
26typedef scoped_refptr<const WiFi> WiFiConstRefPtr;
27typedef scoped_refptr<WiFi> WiFiRefPtr;
28
29// Endpoint and derived classes.
30class Endpoint;
31typedef scoped_refptr<const Endpoint> EndpointConstRefPtr;
32typedef scoped_refptr<Endpoint> EndpointRefPtr;
33
34class WiFiEndpoint;
35typedef scoped_refptr<const WiFiEndpoint> WiFiEndpointConstRefPtr;
36typedef scoped_refptr<WiFiEndpoint> WiFiEndpointRefPtr;
37
38// Service and derived classes.
39class Service;
40typedef scoped_refptr<const Service> ServiceConstRefPtr;
41typedef scoped_refptr<Service> ServiceRefPtr;
42
43class CellularService;
44typedef scoped_refptr<const CellularService> CellularServiceConstRefPtr;
45typedef scoped_refptr<CellularService> CellularServiceRefPtr;
46
47class EthernetService;
48typedef scoped_refptr<const EthernetService> EthernetServiceConstRefPtr;
49typedef scoped_refptr<EthernetService> EthernetServiceRefPtr;
50
51class WiFiService;
52typedef scoped_refptr<const WiFiService> WiFiServiceConstRefPtr;
53typedef scoped_refptr<WiFiService> WiFiServiceRefPtr;
54
55// IPConfig and derived classes.
56class IPConfig;
57typedef scoped_refptr<IPConfig> IPConfigRefPtr;
58
59class DHCPConfig;
60typedef scoped_refptr<DHCPConfig> DHCPConfigRefPtr;
61
62} // namespace shill
63
64#endif // SHILL_REFPTR_TYPES_