All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorMetaDataEvictionHandler.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "Interiors.h"
5 #include "IInteriorMetaDataEvictionHandler.h"
6 
7 #include <string>
8 #include <map>
9 
10 namespace Eegeo
11 {
12  namespace Resources
13  {
14  namespace Interiors
15  {
16  namespace MetaData
17  {
19  {
20  public:
21  InteriorMetaDataEvictionHandler(IInteriorMetaDataModelEvictedEvent& interiorMetaDataModelEvictedEvent);
22  ~InteriorMetaDataEvictionHandler() override {}
23 
24  void Update(float dt);
25 
26  void QueueMetaDataForEviction(const std::string& indoorMapId) override;
27  void RemoveMetaDataFromEvictionQueue(const std::string& indoorMapId) override;
28  bool IsMetaDataQueuedForEviction(const std::string& indoorMapId) const override;
29 
30  IInteriorMetaDataModelEvictedEvent& GetIInteriorMetaDataModelEvictedEvent() const override;
31 
32  private:
33  std::map<const std::string, float> m_metaDataEvictionTimeoutQueue;
34  IInteriorMetaDataModelEvictedEvent& m_interiorMetaDataModelEvictedEvent;
35  };
36  }
37  }
38  }
39 }