All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MarkerLabelModelSourceController.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Markers.h"
6 #include "Types.h"
7 #include "Labels.h"
8 #include "MarkerModelRepository.h"
9 
10 namespace Eegeo
11 {
12  namespace Markers
13  {
15  {
16  public:
18  Labels::IAnchoredLabelSourceRepository& labelSourceRepository,
19  LabelToMarkerModelRepository& labelToMarkerModelRepository,
20  Labels::LabelModelSource& outdoorMarkerLabelModelSource,
21  Labels::LabelModelSource& indoorMarkerLabelModelSource);
22 
24 
25 
26  virtual void OnItemAdded(MarkerModel* const& pMarkerModel);
27 
28  virtual void OnItemRemoved(MarkerModel* const& pMarkerModel);
29  private:
30 
31  Labels::LabelModelSource& GetLabelModelSourceForMarker(const MarkerModel& markerModel);
32 
33  IMarkerModelRepository& m_markerModelRepository;
34  Labels::IAnchoredLabelSourceRepository& m_labelSourceRepository;
35  LabelToMarkerModelRepository& m_labelToMarkerModelRepository;
36 
37  Labels::LabelModelSource& m_outdoorMarkerLabelModelSource;
38  Labels::LabelModelSource& m_indoorMarkerLabelModelSource;
39 
40  };
41  }
42 }