All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PlaceNamesRepository.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "PlaceNames.h"
7 #include <vector>
8 
9 namespace Eegeo
10 {
11  namespace Resources
12  {
13  namespace PlaceNames
14  {
16  {
17  public:
18  void AddPlaceNameModel(PlaceNameModel* pPlaceNameModel);
19  PlaceNameModel* FindPlaceNameWithSameName(const PlaceNameModel* pPlaceNameToFind) const;
20  PlaceNameModel* FindPlaceNameWithSameNameAndCategory(const PlaceNameModel* pPlaceNameToFind) const;
21  void RemovePlaceNameModel(const PlaceNameModel* pPlaceNameModel);
22  void RemoveIf(bool (*predicate)(const PlaceNameModel*));
23 
24  typedef std::vector<PlaceNameModel*> TPlaceNameModels;
25 
26  const TPlaceNameModels& GetPlaceNameModels() const { return m_placeNameModels; }
27 
28  private:
29  TPlaceNameModels m_placeNameModels;
30  };
31  }
32  }
33 }