Example #1
0
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;
}
Example #2
0
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;
}