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