11 #include "XBDateTime.h" 19 class CPVREpgTagsCache;
20 class CPVREpgChannelData;
21 class CPVREpgDatabase;
29 const std::shared_ptr<CPVREpgChannelData>& channelData,
30 const std::shared_ptr<CPVREpgDatabase>& database);
43 void SetChannelData(
const std::shared_ptr<CPVREpgChannelData>& data);
50 bool UpdateEntry(
const std::shared_ptr<CPVREpgInfoTag>& tag);
57 bool DeleteEntry(
const std::shared_ptr<CPVREpgInfoTag>& tag);
88 std::shared_ptr<CPVREpgInfoTag>
GetTag(
const CDateTime& startTime)
const;
95 std::shared_ptr<CPVREpgInfoTag>
GetTag(
unsigned int iUniqueBroadcastID)
const;
153 std::vector<std::shared_ptr<CPVREpgInfoTag>>
GetAllTags()
const;
183 std::vector<std::shared_ptr<CPVREpgInfoTag>> CreateEntries(
184 const std::vector<std::shared_ptr<CPVREpgInfoTag>>& tags)
const;
191 std::shared_ptr<CPVREpgInfoTag> CreateEntry(
const std::shared_ptr<CPVREpgInfoTag>& tag)
const;
199 std::shared_ptr<CPVREpgInfoTag> CreateGapTag(
const CDateTime& start,
const CDateTime& end)
const;
207 void MergeTags(
const CDateTime& minEventEnd,
209 std::vector<std::shared_ptr<CPVREpgInfoTag>>& tags)
const;
215 void FixOverlappingEvents(std::vector<std::shared_ptr<CPVREpgInfoTag>>& tags)
const;
216 void FixOverlappingEvents(std::map<
CDateTime, std::shared_ptr<CPVREpgInfoTag>>& tags)
const;
219 std::shared_ptr<CPVREpgChannelData> m_channelData;
220 const std::shared_ptr<CPVREpgDatabase> m_database;
221 const std::unique_ptr<CPVREpgTagsCache> m_tagsCache;
223 std::map<CDateTime, std::shared_ptr<CPVREpgInfoTag>> m_changedTags;
224 std::map<CDateTime, std::shared_ptr<CPVREpgInfoTag>> m_deletedTags;
Definition: ContextMenuManager.h:24
DateTime class, which uses FileTime as it's base.
Definition: XBDateTime.h:63