All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PropModule.h
1 #pragma once
2 
3 #include "Positioning.h"
4 #include "IInteriorEntitiesWebService.h"
5 #include "InteriorRenderableFactory.h"
6 #include "Interiors.h"
7 #include "Rendering.h"
8 #include "PropController.h"
9 
10 
11 namespace Eegeo
12 {
13  namespace Modules
14  {
15  namespace Map
16  {
17  namespace Layers
18  {
19  class PropModule
20  {
21  public:
22 
23  static PropModule* Create(
25  Positioning::IPointOnMapFactory& pointOnMapFactory,
32  bool enableEntityQueries,
33  const std::string& propAssetBaseUrl
34  );
35 
36  ~PropModule();
37 
38  Resources::Interiors::IPropService& GetPropService() const { return *m_pPropService; }
39 
40  Resources::Interiors::IPropController& GetPropController() const { return *m_pPropController; }
41 
42  private:
43 
44  PropModule(
46  Resources::Interiors::PropModelRepository* pPropModelRepository,
47  Resources::Interiors::PropModelIdGenerator* pPropModelIdGenerator,
49  Resources::Interiors::PropRenderableFactory* pPropRenderableFactory,
50  Resources::Interiors::PropRenderableService* pPropRenderableService,
51  Resources::Interiors::PropRenderableLocationController* pPropRenderableLocationController,
52  Resources::Interiors::PropController* pPropController);
53 
54  Resources::Interiors::IPropService* m_pPropService;
55  Resources::Interiors::PropModelRepository* m_pPropModelRepository;
56  Resources::Interiors::PropModelIdGenerator* m_pPropModelIdGenerator;
58  Resources::Interiors::PropRenderableFactory* m_pPropRenderableFactory;
59  Resources::Interiors::PropRenderableService* m_pPropRenderableService;
60  Resources::Interiors::PropRenderableLocationController* m_pPropRenderableLocationController;
61  Resources::Interiors::PropController* m_pPropController;
62  };
63  };
64  }
65  }
66 }