All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PropStreamingService.h
1 #pragma once
2 
3 #include <string>
4 
5 #include "Web.h"
6 #include "ICallback.h"
7 #include "PropResourceWebLoader.h"
8 #include "InstancedInteriorFloorRenderable.h"
9 #include "InteriorEntityData.h"
10 #include "IPointOnMap.h"
11 #include "PointOnMapBuilder.h"
12 #include "PointOnMapFactory.h"
13 #include "PropResourceRepository.h"
14 #include "PropResourceWebLoaderResult.h"
15 
16 
17 namespace Eegeo
18 {
19  namespace Resources
20  {
21  namespace Interiors
22  {
23  struct LoadMeshResult;
24 
26  {
27  public:
28 
30  const std::string& propAssetBaseUrl,
31  Web::IWebLoadRequestFactory& webLoadRequestFactory,
32  Builder::ChunkedPropBuilder& chunkedPropBuilder,
33  InteriorInteractionModel& interiorsInteractionModel,
34  IInteriorsMaterialService& materialService,
35  Materials::IInteriorsMaterialDtoRepository& materialDtoRepository,
36  PropResourceRepository& propResourceRepository);
37 
39 
41 
42  void LoadPropResource(const std::string& propResourceId);
43 
44  private:
45 
46  static std::string ComposeRelativeUrlFromPropGeometryId(const std::string& propResourceId);
47 
48  void HandleLoadPropResource(const PropResourceWebLoaderResult& loadForFloorResult);
49 
51  PropResourceRepository& m_propResourceRepository;
52  PropResourceWebLoader m_propResourceWebLoader;
53  };
54  }
55  }
56 }
57 
58