#pragma once #include "../indexer/feature.hpp" #include "../geometry/rect2d.hpp" #include "../std/function.hpp" namespace df { class MapDataProvider { public: typedef function TReadIdCallback; typedef function TReadFeatureCallback; typedef function const &)> TReadFeaturesFn; typedef function TReadIDsFn; MapDataProvider(TReadIDsFn const & idsReader, TReadFeaturesFn const & featureReader); void ReadFeaturesID(TReadIdCallback const & fn, m2::RectD const & r, int scale) const; void ReadFeatures(TReadFeatureCallback const & fn, vector const & ids) const; private: TReadFeaturesFn m_featureReader; TReadIDsFn m_idsReader; }; }