All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MapsceneApplier.h
1 // Copyright eeGeo Ltd (2012-2017), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Mapscenes.h"
6 #include "Web.h"
7 #include "CoverageTrees.h"
8 #include "CityThemes.h"
9 #include "ICallback.h"
10 #include <string>
11 
12 namespace Eegeo
13 {
14  namespace Mapscenes
15  {
17  {
18  public:
19 
20  MapsceneApplier(Web::ApiTokenService& apiTokenService,
25 
26  ~MapsceneApplier();
27 
28  void ApplyMapscene(const Mapscene& mapscene);
29 
30  private:
31 
32  Web::ApiTokenService& m_apiTokenService;
35  Resources::CityThemes::CityThemeLoader& m_cityThemeLoader;
37 
39  void HandleNewCoverageTreeManifestLoaded(const Eegeo::Streaming::CoverageTrees::CoverageTreeManifest& manifest);
40 
41  Eegeo::Helpers::TCallback0<MapsceneApplier> m_newThemeDataCallback;
42  void HandleNewThemeManifestLoaded();
43 
44  std::string m_previouslyLoadedCoverageTreeUrl;
45  std::string m_previouslyLoadedThemeManifestUrl;
46  };
47  }
48 }