1 //
2 // Copyright (C) 2012 The Android Open Source Project
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 
17 #ifndef SHILL_REFPTR_TYPES_H_
18 #define SHILL_REFPTR_TYPES_H_
19 
20 #include <base/memory/ref_counted.h>
21 
22 namespace shill {
23 
24 class Device;
25 typedef scoped_refptr<const Device> DeviceConstRefPtr;
26 typedef scoped_refptr<Device> DeviceRefPtr;
27 
28 class Cellular;
29 typedef scoped_refptr<const Cellular> CellularConstRefPtr;
30 typedef scoped_refptr<Cellular> CellularRefPtr;
31 
32 class Ethernet;
33 typedef scoped_refptr<const Ethernet> EthernetConstRefPtr;
34 typedef scoped_refptr<Ethernet> EthernetRefPtr;
35 
36 class PPPDevice;
37 typedef scoped_refptr<const PPPDevice> PPPDeviceConstRefPtr;
38 typedef scoped_refptr<PPPDevice> PPPDeviceRefPtr;
39 
40 class VirtualDevice;
41 typedef scoped_refptr<const VirtualDevice> VirtualDeviceConstRefPtr;
42 typedef scoped_refptr<VirtualDevice> VirtualDeviceRefPtr;
43 
44 class WiFi;
45 typedef scoped_refptr<const WiFi> WiFiConstRefPtr;
46 typedef scoped_refptr<WiFi> WiFiRefPtr;
47 
48 class WiMax;
49 typedef scoped_refptr<const WiMax> WiMaxConstRefPtr;
50 typedef scoped_refptr<WiMax> WiMaxRefPtr;
51 
52 class WiFiEndpoint;
53 typedef scoped_refptr<const WiFiEndpoint> WiFiEndpointConstRefPtr;
54 typedef scoped_refptr<WiFiEndpoint> WiFiEndpointRefPtr;
55 
56 class Service;
57 typedef scoped_refptr<const Service> ServiceConstRefPtr;
58 typedef scoped_refptr<Service> ServiceRefPtr;
59 
60 class CellularService;
61 typedef scoped_refptr<const CellularService> CellularServiceConstRefPtr;
62 typedef scoped_refptr<CellularService> CellularServiceRefPtr;
63 
64 class EthernetService;
65 typedef scoped_refptr<const EthernetService> EthernetServiceConstRefPtr;
66 typedef scoped_refptr<EthernetService> EthernetServiceRefPtr;
67 
68 class VPNService;
69 typedef scoped_refptr<const VPNService> VPNServiceConstRefPtr;
70 typedef scoped_refptr<VPNService> VPNServiceRefPtr;
71 
72 class WiFiService;
73 typedef scoped_refptr<const WiFiService> WiFiServiceConstRefPtr;
74 typedef scoped_refptr<WiFiService> WiFiServiceRefPtr;
75 
76 class WiMaxService;
77 typedef scoped_refptr<const WiMaxService> WiMaxServiceConstRefPtr;
78 typedef scoped_refptr<WiMaxService> WiMaxServiceRefPtr;
79 
80 class IPConfig;
81 typedef scoped_refptr<IPConfig> IPConfigRefPtr;
82 
83 class DHCPConfig;
84 typedef scoped_refptr<DHCPConfig> DHCPConfigRefPtr;
85 
86 class Profile;
87 typedef scoped_refptr<const Profile> ProfileConstRefPtr;
88 typedef scoped_refptr<Profile> ProfileRefPtr;
89 
90 class Connection;
91 typedef scoped_refptr<Connection> ConnectionRefPtr;
92 
93 }  // namespace shill
94 
95 #endif  // SHILL_REFPTR_TYPES_H_
96