| 558 | |
| 559 | template <typename UserMarkT> |
| 560 | UserMarkT * CreateUserMark(m2::PointD const & ptOrg) |
| 561 | { |
| 562 | CHECK_THREAD_CHECKER(m_threadChecker, ()); |
| 563 | auto mark = std::make_unique<UserMarkT>(ptOrg); |
| 564 | auto * m = mark.get(); |
| 565 | auto const markId = m->GetId(); |
| 566 | auto const groupId = static_cast<kml::MarkGroupId>(m->GetMarkType()); |
| 567 | CHECK_EQUAL(m_userMarks.count(markId), 0, ()); |
| 568 | ASSERT_GREATER(groupId, 0, ()); |
| 569 | ASSERT_LESS(groupId - 1, m_userMarkLayers.size(), ()); |
| 570 | m_userMarks.emplace(markId, std::move(mark)); |
| 571 | m_changesTracker.OnAddMark(markId); |
| 572 | m_userMarkLayers[static_cast<size_t>(groupId - 1)]->AttachUserMark(markId); |
| 573 | return m; |
| 574 | } |
| 575 | |
| 576 | template <typename UserMarkT> |
| 577 | UserMarkT * GetMarkForEdit(kml::MarkId markId) |
nothing calls this directly
no test coverage detected