haiku/src/tests
Adrien Destugues 13f0458896 Add BGeolocation experimental API.
A BGeolocation object can query an online service to get geolocation
and geotagging data:
 * LocateSelf() tries to locate the machine it is running on, by using an
online database of wifi access points
 * Locate() (not yet implemented) searches a BString and converts it to
lat/lon coordinates (reverse geotagging)
 * Name() (not yet implemented) finds a suitable name for the given
coordinates (address, building name, or anything fitting).

The default service used is openbmap.org, which is freely available but
not very accurate. A request has been sent to Mozilla to use MLS
(Mozilla Location Services), which is a bit more accurate but needs an
API key. MLS is used for geolocation on FirefoxOS, for mobile phones
which don't have a GPS, and the data can be contributed by Firefox for
Android or the dedicated MozStumbler app.

Alternatively, Google Maps also provide the service, but wants
people to pay for it. Google Maps data is more accurate as all Android
devices contribute data to it.

All 3 services use the same JSON-based API: we send a list of reachable
Wifi APs (mac address and signal strength), and we get lattitude and
longitude information, and possibly extra data which will currently be
unused.

This can be used to implement HTML5 geolocation with reasonably accurate
results, but it can also be used in other places. For example
FirstBootPrompt could try to guess a list of most likely languages and
keyboard layouts from it (if wifi is working at install time, that is).
2014-09-23 16:37:59 +02:00
..
add-ons Use libstdc++, libsupc++ and libgcc from gcc_syslibs. 2014-08-13 13:32:44 +02:00
apps Use libstdc++, libsupc++ and libgcc from gcc_syslibs. 2014-08-13 13:32:44 +02:00
bin Use libstdc++, libsupc++ and libgcc from gcc_syslibs. 2014-08-13 13:32:44 +02:00
kits Add BGeolocation experimental API. 2014-09-23 16:37:59 +02:00
libs Use libstdc++, libsupc++ and libgcc from gcc_syslibs. 2014-08-13 13:32:44 +02:00
misc Use libstdc++, libsupc++ and libgcc from gcc_syslibs. 2014-08-13 13:32:44 +02:00
servers Use libstdc++, libsupc++ and libgcc from gcc_syslibs. 2014-08-13 13:32:44 +02:00
system Use libstdc++, libsupc++ and libgcc from gcc_syslibs. 2014-08-13 13:32:44 +02:00
ExampleTest.cpp Fixed unit tests build for platforms libbe_test and r5. Only randomly tested 2005-11-09 16:17:31 +00:00
ExampleTest.h + Moved BAutolock and BArchivable over to new testing framework. 2002-07-19 06:45:28 +00:00
ExampleTestAddon.cpp Fixed unit tests build for platforms libbe_test and r5. Only randomly tested 2005-11-09 16:17:31 +00:00
Jamfile Use libstdc++, libsupc++ and libgcc from gcc_syslibs. 2014-08-13 13:32:44 +02:00
UnitTester.cpp * indent is obviously only 2 spaces. 2010-11-29 18:51:33 +00:00
UnitTester.h * Build fix for GCC4. 2010-11-29 18:05:32 +00:00
UnitTester.rsrc Renamed UnitTesterHelper.* to UnitTester.*. 2005-11-09 16:23:11 +00:00