All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SearchTag.h
1 #pragma once
2 
3 #include "Types.h"
4 #include <string>
5 #include <vector>
6 
7 namespace Eegeo
8 {
9  namespace PoiSearch
10  {
11  namespace
12  {
13  const std::string DefaultIconKey = "pin";
14  const std::string DefaultReadableTag = "Unknown";
15  }
16 
17  struct SearchTag
18  {
19  public:
20 
21  SearchTag(const std::string& tag,
22  const std::string& readableTag,
23  const std::string& iconKey)
24  : m_tag(tag)
25  , m_readableTag(readableTag)
26  , m_iconKey(iconKey)
27  {
28  }
29 
30  const std::string& GetTag() const { return m_tag; }
31  const std::string& GetReadableTag() const { return m_readableTag; }
32  const std::string& GetIconKey() const { return m_iconKey; }
33 
34 
35  private:
36  std::string m_tag;
37  std::string m_readableTag;
38  std::string m_iconKey;
39  };
40 
41  struct SearchTags
42  {
43  public:
44 
45  SearchTags()
46  : m_defaultReadableTag(DefaultReadableTag)
47  , m_defaultIconKey(DefaultIconKey)
48  {
49 
50  }
51 
52  SearchTags(const std::vector<SearchTag>& tags,
53  const std::string& defaultReadableTag,
54  const std::string& defaultIconKey
55  )
56  : m_tags(tags)
57  , m_defaultReadableTag(defaultReadableTag)
58  , m_defaultIconKey(defaultIconKey)
59  {
60 
61  }
62 
63  const std::vector<SearchTag>& GetTags() const { return m_tags; }
64  const std::string& GetDefaultReadableTag() const { return m_defaultReadableTag; }
65  const std::string& GetDefaultIconKey() const { return m_defaultIconKey; }
66 
67  private:
68 
69  std::vector<SearchTag> m_tags;
70  std::string m_defaultReadableTag;
71  std::string m_defaultIconKey;
72  };
73  }
74 }