All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
LabelStyleRepositoryObserver.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Labels.h"
7 #include "ModelRepository.h"
8 #include "LabelStyle.h"
9 #include "IModelObserver.h"
10 #include "LabelStyleRepository.h"
11 
12 namespace Eegeo
13 {
14  namespace Labels
15  {
17  {
18  };
19 
21  {
22  public:
24 
26 
27  void OnItemAdded(const ItemType& item);
28 
29  void OnItemRemoved(const ItemType& item);
30 
31  void RegisterChangedCallback(CallbackType& callback);
32 
33  void UnregisterChangedCallback(CallbackType& callback);
34  private:
35  void NotifyChanged() const;
36 
37  ILabelStyleRepository& m_labelStyleRepository;
38 
39  Helpers::CallbackCollection0 m_callbacks;
40  };
41 
42 
43 
44  }
45 }