| 3026 | } |
| 3027 | |
| 3028 | std::unique_ptr<kml::FileData> BookmarkManager::CollectBmGroupKMLData(BookmarkCategory const * group) const |
| 3029 | { |
| 3030 | auto kmlData = std::make_unique<kml::FileData>(); |
| 3031 | kmlData->m_serverId = group->GetServerId(); |
| 3032 | kmlData->m_categoryData = group->GetCategoryData(); |
| 3033 | auto const & markIds = group->GetUserMarks(); |
| 3034 | kmlData->m_bookmarksData.reserve(markIds.size()); |
| 3035 | for (auto it = markIds.rbegin(); it != markIds.rend(); ++it) |
| 3036 | { |
| 3037 | auto const * bm = GetBookmark(*it); |
| 3038 | kmlData->m_bookmarksData.emplace_back(bm->GetData()); |
| 3039 | } |
| 3040 | auto const & lineIds = group->GetUserLines(); |
| 3041 | kmlData->m_tracksData.reserve(lineIds.size()); |
| 3042 | for (auto trackId : lineIds) |
| 3043 | { |
| 3044 | auto const * track = GetTrack(trackId); |
| 3045 | kmlData->m_tracksData.emplace_back(track->GetData()); |
| 3046 | } |
| 3047 | |
| 3048 | for (auto const compilationId : group->GetCategoryData().m_compilationIds) |
| 3049 | { |
| 3050 | auto const & compilation = GetCategoryData(compilationId); |
| 3051 | kmlData->m_compilationsData.emplace_back(compilation); |
| 3052 | } |
| 3053 | return kmlData; |
| 3054 | } |
| 3055 | |
| 3056 | bool BookmarkManager::SaveBookmarkCategory(kml::MarkGroupId groupId) |
| 3057 | { |
nothing calls this directly
no test coverage detected