Files
comaps/libs/routing/router_delegate.hpp
Konstantin Pastbin bfffa1fff4 Format all C++ and Java code via clang-format
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-08-17 14:32:37 +07:00

42 lines
1.0 KiB
C++

#pragma once
#include "routing/routing_callbacks.hpp"
#include "geometry/latlon.hpp"
#include "base/cancellable.hpp"
#include "base/timer.hpp"
#include <mutex>
namespace routing
{
class RouterDelegate
{
public:
static auto constexpr kNoTimeout = std::numeric_limits<uint32_t>::max();
RouterDelegate();
/// Set routing progress. Waits current progress status from 0 to 100.
void OnProgress(float progress) const;
void OnPointCheck(ms::LatLon const & point) const;
void SetProgressCallback(ProgressCallback const & progressCallback);
void SetPointCheckCallback(PointCheckCallback const & pointCallback);
void SetTimeout(uint32_t timeoutSec);
base::Cancellable const & GetCancellable() const { return m_cancellable; }
void Reset() { return m_cancellable.Reset(); }
void Cancel() { return m_cancellable.Cancel(); }
bool IsCancelled() const { return m_cancellable.IsCancelled(); }
private:
ProgressCallback m_progressCallback;
PointCheckCallback m_pointCallback;
base::Cancellable m_cancellable;
};
} // namespace routing