All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
LabelLayerFactory.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "LabelLayer.h"
6 #include "Types.h"
7 
8 namespace Eegeo
9 {
10  namespace Labels
11  {
13  {
14  public:
15  virtual ~ILabelLayerFactory() {}
16  virtual LabelLayer* Create(const std::string& labelLayerName) = 0;
17  };
18 
20  {
21  public:
22  LabelLayerFactory(ILabelLayerIdGenerator& labelLayerIdGenerator);
23 
24  LabelLayer* Create(const std::string& labelLayerName);
25  private:
26  ILabelLayerIdGenerator& m_labelLayerIdGenerator;
27  };
28  }
29 }