sectionsd.cpp:sort unique search-eventlist

Origin commit data
------------------
Branch: ni/coolstream
Commit: a227ef5f6d
Author: Jacek Jendrzej <overx300@gmail.com>
Date: 2012-05-11 (Fri, 11 May 2012)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
Jacek Jendrzej
2012-05-11 12:00:52 +02:00
parent 273977c111
commit 3b5d797a32

View File

@@ -2176,6 +2176,17 @@ printf("SIevent size: %d\n", sizeof(SIevent));
}
/* was: commandAllEventsChannelID sendAllEvents */
inline static bool sortbyEventid (const CChannelEvent& a, const CChannelEvent& b)
{
return (a.channelID == b.channelID && a.eventID == b.eventID);
}
inline static bool sortByDateTime (const CChannelEvent& a, const CChannelEvent& b)
{
return a.startTime < b.startTime;
}
void sectionsd_getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEventList &eList, char search = 0, std::string search_text = "")
{
dprintf("sendAllEvents for " PRINTF_CHANNEL_ID_TYPE "\n", serviceUniqueKey);
@@ -2233,7 +2244,11 @@ void sectionsd_getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEventL
else if ( serviceIDfound )
break; // sind nach serviceID und startzeit sortiert -> nicht weiter suchen
}
if(!eList.empty()){
sort(eList.begin(),eList.end(),sortByDateTime);
unique(eList.begin(),eList.end(),sortbyEventid);
eList.erase(unique(eList.begin(),eList.end(),sortbyEventid),eList.end());
}
unlockEvents();
}
}