All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IIndoorMapFloorOutlineInformationService.h
1 // Copyright eeGeo Ltd (2012-2019), All Rights Reserved
2 
3 #pragma once
4 
5 #include "IndoorMapFloorOutlineInformation.h"
6 #include "ICallback.h"
7 
8 #include <string>
9 
10 namespace Eegeo
11 {
12  namespace IndoorMapFloorOutlineInformation
13  {
15  {
16  public:
18 
19  virtual IndoorMapFloorOutlineInformationModelId CreateInformationModel(const std::string& indoorMapId, const int indoorMapFloorId) = 0;
20 
21  virtual void DestroyInformationModel(IndoorMapFloorOutlineInformationModelId indoorMapFloorOutlineModelId) = 0;
22 
23  virtual bool InformationModelExists(IndoorMapFloorOutlineInformationModelId indoorMapFloorOutlineModelId) const = 0;
24 
25  virtual const IndoorMapFloorOutlineInformationModel& GetInformationModel(IndoorMapFloorOutlineInformationModelId indoorMapFloorOutlineModelId) const = 0;
26 
27  virtual const IndoorMapFloorOutline& GetOutlineForInformationModel(IndoorMapFloorOutlineInformationModelId indoorMapFloorOutlineModelId) const = 0;
28 
29  virtual void RegisterInformationLoadedEvent(Helpers::ICallback1<const IndoorMapFloorOutlineInformationModelId>& callback) const = 0;
30 
31  virtual void UnregisterInformationLoadedEvent(Helpers::ICallback1<const IndoorMapFloorOutlineInformationModelId>& callback) const = 0;
32  };
33  }
34 }