All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CurrentLocationService.h
1 // Copyright eeGeo Ltd (2012-2016), All Rights Reserved
2 
3 #pragma once
4 
5 #include "ICurrentLocationService.h"
6 #include "ILocationService.h"
7 #include "ICallback.h"
8 #include "CallbackCollection.h"
9 #include "InteriorId.h"
10 
11 namespace Eegeo
12 {
13  namespace Helpers
14  {
15  namespace CurrentLocationService
16  {
18  {
19  public:
21 
22  void SetLocationService(Location::ILocationService& newLocationService);
23  void AddLocationServiceChangedCallback(ICallback0& callback);
24  void RemoveLocationServiceChangedCallback(ICallback0& callback);
25 
26  const bool GetIsAuthorized() const;
27 
28  bool IsIndoors();
29  Resources::Interiors::InteriorId GetInteriorId();
30  bool GetLocation(Space::LatLong& latlong);
31  bool GetAltitude(double& altitude);
32  bool GetFloorIndex(int& floorIndex);
33  bool GetHorizontalAccuracy(double& accuracy);
34  bool GetHeadingDegrees(double& headingDegrees);
35  void StopListening();
36 
37  private:
38  Location::ILocationService* m_pLocationService;
39 
40  CallbackCollection0 m_locationServiceChangedCallbacks;
41  };
42  }
43  }
44 }