#pragma once #include "drape_frontend/threads_commutator.hpp" #include "drape/pointers.hpp" namespace df { class Message; class MapShape; struct TileKey; class EngineContext { public: EngineContext(dp::RefPointer commutator); void BeginReadTile(TileKey const & key); /// If you call this method, you may forget about shape. /// It will be proccessed and delete later void InsertShape(TileKey const & key, dp::TransferPointer shape); void EndReadTile(TileKey const & key); private: void PostMessage(Message * message); private: dp::RefPointer m_commutator; }; } // namespace df