PVR_ERROR MythXml::requestEPGForChannel(PVRHANDLE handle, const PVR_CHANNEL &channel, time_t start, time_t end) { if(!checkConnection()) return PVR_ERROR_SERVER_ERROR; GetProgramGuideCommand cmd; GetProgramGuideParameters params(channel.uid, CDateTime(start), CDateTime(end), true); GetProgramGuideResult result; cmd.execute(hostname_, port_, params, result, timeout_); if(!result.isSuccess()) return PVR_ERROR_UNKOWN; PVR_PROGINFO guideItem; const vector<SEpg>& epgInfo = result.getEpg(); vector<SEpg>::const_iterator it; for( it = epgInfo.begin(); it != epgInfo.end(); ++it) { const SEpg& epg = *it; time_t itemStart; time_t itemEnd; epg.start_time.GetAsTime(itemStart); epg.end_time.GetAsTime(itemEnd); guideItem.channum = epg.chan_num; guideItem.uid = epg.id; guideItem.title = epg.title; guideItem.subtitle = epg.subtitle; guideItem.description = epg.description; guideItem.genre_type = epg.genre_type; guideItem.genre_sub_type = epg.genre_subtype; guideItem.genre_text = ""; guideItem.parental_rating = epg.parental_rating; guideItem.starttime = itemStart; guideItem.endtime = itemEnd; PVR->TransferEpgEntry(handle, &guideItem); } return PVR_ERROR_NO_ERROR; }
PVR_ERROR MythXml::requestEPGForChannel(PVR_HANDLE handle, const PVR_CHANNEL &channel, time_t iStart, time_t iEnd){ if(!checkConnection()) return PVR_ERROR_SERVER_ERROR; GetProgramGuideCommand cmd; GetProgramGuideParameters params(channel.iUniqueId, CDateTime(iStart), CDateTime(iEnd), true); GetProgramGuideResult result; cmd.execute(hostname_, port_, params, result, timeout_); if(!result.isSuccess()) return PVR_ERROR_UNKOWN; EPG_TAG guideItem; const vector<SEpg>& epgInfo = result.getEpg(); vector<SEpg>::const_iterator it; for( it = epgInfo.begin(); it != epgInfo.end(); ++it) { const SEpg& epg = *it; time_t itemStart; time_t itemEnd; epg.start_time.GetAsTime(itemStart); epg.end_time.GetAsTime(itemEnd); guideItem.iChannelNumber = epg.chan_num; guideItem.iUniqueBroadcastId = epg.id; guideItem.strTitle = epg.title; guideItem.strPlotOutline = epg.subtitle; guideItem.strPlot = epg.description; guideItem.iGenreType = epg.genre_type; guideItem.iGenreSubType = epg.genre_subtype; guideItem.iParentalRating = epg.parental_rating; guideItem.startTime = itemStart; guideItem.endTime = itemEnd; PVR->TransferEpgEntry(handle, &guideItem); } return PVR_ERROR_NO_ERROR; }