All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
iOSLocationService.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "ILocationService.h"
6 #include "Space.h"
7 #include "VectorMath.h"
8 #include "InteriorId.h"
9 
10 namespace Eegeo
11 {
12  namespace iOS
13  {
15  {
16  private:
17  double latRadians;
18  double lonRadians;
19  double altitudeMeters;
20  double horizontalAccuracyMeters;
21  double headingDegrees;
22  bool hasLocation;
23  bool hasHeading;
24  bool isAuthorized;
25 
26  public:
28 
29  void SetAuthorized(bool authorized);
30  const bool GetIsAuthorized() const { return isAuthorized; }
31 
32  void FailedToGetLocation();
33  void FailedToGetHeading();
34  void UpdateLocation(double latDegrees, double lonDegrees, double altitudeMeters);
35  void UpdateHorizontalAccuracy(double accuracyMeters);
36  void UpdateHeading(double heading);
37 
38  bool IsIndoors();
39  Resources::Interiors::InteriorId GetInteriorId();
40  bool GetLocation(Eegeo::Space::LatLong& latlong);
41  bool GetAltitude(double& altitude);
42  bool GetFloorIndex(int& floorIndex);
43  bool GetHorizontalAccuracy(double& accuracy);
44  bool GetHeadingDegrees(double& heading);
45  void StopListening(){};
46  };
47  }
48 }