mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-23 06:33:42 +00:00
committed by
Konstantin Pastbin
parent
c9cbb64f12
commit
76ffc99abd
49
libs/drape_frontend/read_mwm_task.hpp
Normal file
49
libs/drape_frontend/read_mwm_task.hpp
Normal file
@@ -0,0 +1,49 @@
|
||||
#pragma once
|
||||
|
||||
#include "drape_frontend/tile_info.hpp"
|
||||
|
||||
#include "base/thread.hpp"
|
||||
|
||||
#include <memory>
|
||||
|
||||
namespace df
|
||||
{
|
||||
class ReadMWMTask : public threads::IRoutine
|
||||
{
|
||||
public:
|
||||
explicit ReadMWMTask(MapDataProvider & model);
|
||||
|
||||
void Do() override;
|
||||
|
||||
void Init(std::shared_ptr<TileInfo> const & tileInfo);
|
||||
void Reset() override;
|
||||
bool IsCancelled() const override;
|
||||
TileKey const & GetTileKey() const { return m_tileKey; }
|
||||
|
||||
private:
|
||||
std::weak_ptr<TileInfo> m_tileInfo;
|
||||
TileKey m_tileKey;
|
||||
MapDataProvider & m_model;
|
||||
|
||||
#ifdef DEBUG
|
||||
bool m_checker;
|
||||
#endif
|
||||
};
|
||||
|
||||
class ReadMWMTaskFactory
|
||||
{
|
||||
public:
|
||||
explicit ReadMWMTaskFactory(MapDataProvider & model)
|
||||
: m_model(model)
|
||||
{}
|
||||
|
||||
// Caller must handle object life cycle.
|
||||
ReadMWMTask * GetNew() const
|
||||
{
|
||||
return new ReadMWMTask(m_model);
|
||||
}
|
||||
|
||||
private:
|
||||
MapDataProvider & m_model;
|
||||
};
|
||||
} // namespace df
|
||||
Reference in New Issue
Block a user