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