xref: /haiku/headers/private/netservices/Geolocation.h (revision 2a7090df71ce5516f1ee30c8b78f0a84c6ec9c34)
1*2a7090dfSNiels Sascha Reedijk /*
2*2a7090dfSNiels Sascha Reedijk  * Copyright 2014-2019, Haiku, Inc. All Rights Reserved.
3*2a7090dfSNiels Sascha Reedijk  * Distributed under the terms of the MIT License.
4*2a7090dfSNiels Sascha Reedijk  */
5*2a7090dfSNiels Sascha Reedijk #ifndef _GEOLOCATION_H
6*2a7090dfSNiels Sascha Reedijk #define _GEOLOCATION_H
7*2a7090dfSNiels Sascha Reedijk 
8*2a7090dfSNiels Sascha Reedijk 
9*2a7090dfSNiels Sascha Reedijk #include <Country.h>
10*2a7090dfSNiels Sascha Reedijk #include <Url.h>
11*2a7090dfSNiels Sascha Reedijk 
12*2a7090dfSNiels Sascha Reedijk 
13*2a7090dfSNiels Sascha Reedijk namespace BPrivate {
14*2a7090dfSNiels Sascha Reedijk 
15*2a7090dfSNiels Sascha Reedijk namespace Network {
16*2a7090dfSNiels Sascha Reedijk 
17*2a7090dfSNiels Sascha Reedijk class BGeolocation {
18*2a7090dfSNiels Sascha Reedijk public:
19*2a7090dfSNiels Sascha Reedijk 				BGeolocation();
20*2a7090dfSNiels Sascha Reedijk 				BGeolocation(const BUrl& geolocationService,
21*2a7090dfSNiels Sascha Reedijk 					const BUrl& geocodingService);
22*2a7090dfSNiels Sascha Reedijk 
23*2a7090dfSNiels Sascha Reedijk 	status_t	LocateSelf(float& latitude, float& longitude);
24*2a7090dfSNiels Sascha Reedijk 	status_t	Locate(const BString placeName, float& latitude,
25*2a7090dfSNiels Sascha Reedijk 					float& longitude);
26*2a7090dfSNiels Sascha Reedijk 
27*2a7090dfSNiels Sascha Reedijk 	status_t	Name(const float latitude, const float longitude,
28*2a7090dfSNiels Sascha Reedijk 					BString& name);
29*2a7090dfSNiels Sascha Reedijk 	status_t	Country(const float latitude, const float longitude,
30*2a7090dfSNiels Sascha Reedijk 					BCountry& country);
31*2a7090dfSNiels Sascha Reedijk 
32*2a7090dfSNiels Sascha Reedijk private:
33*2a7090dfSNiels Sascha Reedijk 					BUrl	fGeolocationService;
34*2a7090dfSNiels Sascha Reedijk 					BUrl	fGeocodingService;
35*2a7090dfSNiels Sascha Reedijk 
36*2a7090dfSNiels Sascha Reedijk 	static const	char*	kDefaultGeolocationService;
37*2a7090dfSNiels Sascha Reedijk 	static const	char*	kDefaultGeocodingService;
38*2a7090dfSNiels Sascha Reedijk };
39*2a7090dfSNiels Sascha Reedijk 
40*2a7090dfSNiels Sascha Reedijk }	// namespace Network
41*2a7090dfSNiels Sascha Reedijk 
42*2a7090dfSNiels Sascha Reedijk }	// namespace BPrivate
43*2a7090dfSNiels Sascha Reedijk 
44*2a7090dfSNiels Sascha Reedijk 
45*2a7090dfSNiels Sascha Reedijk #endif
46