MDL-48766 lib: Import MaxMind GeoIP2 PHP API
[moodle.git] / lib / maxmind / GeoIp2 / Record / Location.php
1 <?php
3 namespace GeoIp2\Record;
5 /**
6  * Contains data for the location record associated with an IP address
7  *
8  * This record is returned by all location services and databases besides
9  * Country.
10  *
11  * @property-read int|null $averageIncome The average income in US dollars
12  * associated with the requested IP address. This attribute is only available
13  * from the Insights service.
14  *
15  * @property-read int|null $accuracyRadius The approximate accuracy radius in
16  * kilometers around the latitude and longitude for the IP address. This is
17  * the radius where we have a 67% confidence that the device using the IP
18  * address resides within the circle centered at the latitude and longitude
19  * with the provided radius.
20  *
21  * @property-read float|null $latitude The approximate latitude of the location
22  * associated with the IP address. This value is not precise and should not be
23  * used to identify a particular address or household.
24  *
25  * @property-read float|null $longitude The approximate longitude of the location
26  * associated with the IP address. This value is not precise and should not be
27  * used to identify a particular address or household.
28  *
29  * @property-read int|null $populationDensity The estimated population per square
30  * kilometer associated with the IP address. This attribute is only available
31  * from the Insights service.
32  *
33  * @property-read int|null $metroCode The metro code of the location if the location
34  * is in the US. MaxMind returns the same metro codes as the
35  * {@link
36  * https://developers.google.com/adwords/api/docs/appendix/cities-DMAregions
37  * Google AdWords API}.
38  *
39  * @property-read string|null $timeZone The time zone associated with location, as
40  * specified by the {@link http://www.iana.org/time-zones IANA Time Zone
41  * Database}, e.g., "America/New_York".
42  */
43 class Location extends AbstractRecord
44 {
45     /**
46      * @ignore
47      */
48     protected $validAttributes = array(
49         'averageIncome',
50         'accuracyRadius',
51         'latitude',
52         'longitude',
53         'metroCode',
54         'populationDensity',
55         'postalCode',
56         'postalConfidence',
57         'timeZone'
58     );
59 }