All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PoiSearchModule.h
1 #pragma once
2 
3 #include "PoiSearch.h"
4 #include "IWebLoadRequestFactory.h"
5 #include "Web.h"
6 #include "PoiServiceConfiguration.h"
7 #include "TagServiceConfiguration.h"
8 #include <string>
9 
10 namespace Eegeo
11 {
12  namespace PoiSearch
13  {
15  {
16  public:
17  static PoiServiceConfiguration DefaultPoiServiceConfig();
18  static TagServiceConfiguration DefaultTagServiceConfig();
19 
20  static PoiSearchModule* Create(
21  const Web::ApiTokenModel& apiTokenModel,
22  Web::IWebLoadRequestFactory& webRequestFactory,
23  const PoiServiceConfiguration& poiServiceConfiguration,
24  const TagServiceConfiguration& tagServiceConfiguration,
25  const std::string& imageResolutionSuffix
26  );
27 
28  ~PoiSearchModule();
29 
30  PoiService& GetPoiService() const;
31  ITagService& GetTagService() const;
32  ITagIconPathResolver& GetTagIconPathResolver() const;
33 
34  private:
36  const Web::ApiTokenModel& apiTokenModel,
37  Web::IWebLoadRequestFactory& webRequestFactory,
38  const PoiServiceConfiguration& poiServiceConfiguration,
39  const TagServiceConfiguration& tagServiceConfiguration,
40  const std::string& imageResolutionSuffix);
41 
42 
43  PoiService* m_pPoiService;
44  ITagService* m_pTagService;
45  ITagIconPathResolver* m_pTagIconPathResolver;
46  };
47  }
48 }