All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Mapscene.h
1 // Copyright eeGeo Ltd (2012-2017), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "LatLongAltitude.h"
7 #include "InteriorId.h"
8 #include <string>
9 
10 namespace Eegeo
11 {
12 
13  namespace Mapscenes
14  {
16  {
17  public:
18 
19  MapsceneSearchMenuItem(const std::string& name,
20  const std::string& tag,
21  const std::string& iconKey,
22  bool skipYelpSearch)
23  : name(name)
24  , tag(tag)
25  , iconKey(iconKey)
26  , skipYelpSearch(skipYelpSearch)
27  {
28  }
29 
31  : name("")
32  , tag("")
33  , iconKey("")
34  , skipYelpSearch(false)
35  {
36 
37  }
38 
39  std::string name;
40  std::string tag;
41  std::string iconKey;
42  bool skipYelpSearch;
43  };
44 
46  {
47  public:
48 
50  const std::string& interiorId,
51  const int interiorFloorIndex,
52  const float heading,
53  const float distanceToInterest,
54  const bool tryStartAtGpsLocation)
55  : startLocation(location)
56  , startLocationInteriorId(interiorId)
57  , startLocationInteriorFloorIndex(interiorFloorIndex)
58  , startLocationHeading(heading)
59  , startLocationDistanceToInterest(distanceToInterest)
60  , tryStartAtGpsLocation(tryStartAtGpsLocation)
61  {
62  }
63 
65  : startLocation(0,0,0)
66  , startLocationInteriorId("")
67  , startLocationInteriorFloorIndex(0)
68  , startLocationHeading(0)
69  , startLocationDistanceToInterest(0)
70  , tryStartAtGpsLocation(false)
71  {
72  }
73 
74  Space::LatLongAltitude startLocation;
75  Resources::Interiors::InteriorId startLocationInteriorId;
76  int startLocationInteriorFloorIndex;
77  float startLocationHeading;
78  float startLocationDistanceToInterest;
79  bool tryStartAtGpsLocation;
80  };
81 
83  {
84  public:
85  MapsceneDataSources(const std::string& coverageTreeManifestUrl,
86  const std::string& themeManifestUrl,
87  const std::string& webCoverageTreeManifestUrl,
88  const std::string& webThemeManifestUrl)
89  : coverageTreeManifestUrl(coverageTreeManifestUrl)
90  , themeManifestUrl(themeManifestUrl)
91  , webCoverageTreeManifestUrl(webCoverageTreeManifestUrl)
92  , webThemeManifestUrl(webThemeManifestUrl)
93  {
94 
95  }
96 
98  : coverageTreeManifestUrl("")
99  , themeManifestUrl("")
100  , webCoverageTreeManifestUrl("")
101  , webThemeManifestUrl("")
102  {
103 
104  }
105 
106  std::string coverageTreeManifestUrl;
107  std::string themeManifestUrl;
108  std::string webCoverageTreeManifestUrl;
109  std::string webThemeManifestUrl;
110  };
111 
113  {
114  public:
115 
116  MapsceneSearchConfig(const std::vector<MapsceneSearchMenuItem> outdoorSearchMenuItems,
117  const std::string& startUpSearchTerm,
118  bool performStartUpSearch,
119  bool overrideIndoorSearchMenu)
120  : outdoorSearchMenuItems(outdoorSearchMenuItems)
121  , startUpSearchTerm(startUpSearchTerm)
122  , performStartUpSearch(performStartUpSearch)
123  , overrideIndoorSearchMenu(overrideIndoorSearchMenu)
124  {
125 
126  }
127 
129  : startUpSearchTerm("")
130  , performStartUpSearch(false)
131  , overrideIndoorSearchMenu(false)
132  {
133 
134  }
135 
136  std::vector<MapsceneSearchMenuItem> outdoorSearchMenuItems;
137  std::string startUpSearchTerm;
138  bool performStartUpSearch;
139  bool overrideIndoorSearchMenu;
140  };
141 
142  struct Mapscene
143  {
144  public:
145 
146  Mapscene(const std::string& name,
147  const std::string& shortlink,
148  const std::string& apiKey,
149  const MapsceneStartLocation& startLocation,
150  const MapsceneDataSources& dataSources,
151  const MapsceneSearchConfig& searchConfig
152  )
153  : name(name)
154  , shortlink(shortlink)
155  , apiKey(apiKey)
156  , startLocation(startLocation)
157  , dataSources(dataSources)
158  , searchConfig(searchConfig)
159  {
160 
161  }
162 
163  Mapscene()
164  : name("")
165  , shortlink("")
166  , apiKey("")
167  {
168 
169  }
170 
171  std::string name;
172  std::string shortlink;
173  std::string apiKey;
174 
175  MapsceneStartLocation startLocation;
176  MapsceneDataSources dataSources;
177  MapsceneSearchConfig searchConfig;
178  };
179  }
180 }