All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
BuildingFootprintResourceCoverage.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "BuildingFootprints.h"
6 #include "IBuildingFootprintResourceCoverage.h"
7 #include "Types.h"
8 #include "CoverageTreeManifest.h"
9 #include "Streaming.h"
10 
11 #include <map>
12 #include <string>
13 
14 namespace Eegeo
15 {
16  namespace BuildingFootprints
17  {
19  {
20  public:
21  typedef std::map<const Eegeo::Streaming::ResourceStreamComponent*, const std::string> StreamComponentToStorePrefix;
22 
24  const BuildingFootprintResourceStore& resourceStore,
25  const StreamComponentToStorePrefix& streamComponentToStorePrefix)
26  : m_buildingResourceStream(buildingResourceStream)
27  , m_buildingFootprintResourceStore(resourceStore)
28  , m_streamComponentToStorePrefix(streamComponentToStorePrefix)
29  {}
30 
31  bool TryComposeUrlFor(const Eegeo::Streaming::MortonKey& key, std::string& out_url) const;
32 
33  private:
34  const Streaming::IResourceStream& m_buildingResourceStream;
35  const BuildingFootprintResourceStore& m_buildingFootprintResourceStore;
36 
37  const StreamComponentToStorePrefix m_streamComponentToStorePrefix;
38 
39  };
40  }
41 }