All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorMarkerLabelController.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Interiors.h"
6 #include "Labels.h"
7 #include "Types.h"
8 #include "IAnchoredLabelSource.h"
9 #include "ICallback.h"
10 #include "CallbackCollection.h"
11 
12 #include <vector>
13 
14 namespace Eegeo
15 {
16  namespace Resources
17  {
18  namespace Interiors
19  {
20  namespace Markers
21  {
23  {
24  public:
25  InteriorMarkerLabelController(InteriorMarkerModelRepository& interiorMarkerModelRepository,
26  Labels::IAnchoredLabelSourceRepository& labelSourceRepository,
27  IInteriorMarkerLabelBuilder& interiorMarkerLabelBuilder,
28  Labels::LabelModelSource& interiorMarkerLabelModelSource,
29  const bool enabled
30  );
31 
33 
34  private:
35 
36  void OnInteriorMarkerModelAdded(const InteriorMarkerModel& interiorMarkerModel);
37  void OnInteriorMarkerModelRemoved(const InteriorMarkerModel& interiorMarkerModel);
38 
39  InteriorMarkerModelRepository& m_interiorMarkerModelRepository;
40  Labels::IAnchoredLabelSourceRepository& m_labelSourceRepository;
41  IInteriorMarkerLabelBuilder& m_interiorMarkerLabelBuilder;
42  Labels::LabelModelSource& m_interiorMarkerLabelModelSource;
43 
44  const bool m_enabled;
45 
48 
49  };
50  }
51  }
52  }
53 }