private UPnPError OnCreateScheduleByTime(DvAction action, IList <object> inParams, out IList <object> outParams, CallContext context) { outParams = new List <object>(); IScheduleControl scheduleControl = ServiceRegistration.Get <ITvProvider>() as IScheduleControl; IChannelAndGroupInfo channelAndGroupInfo = ServiceRegistration.Get <ITvProvider>() as IChannelAndGroupInfo; if (scheduleControl == null || channelAndGroupInfo == null) { return(new UPnPError(500, "IChannelAndGroupInfo or IScheduleControl service not available")); } int channelId = (int)inParams[0]; DateTime startTime = (DateTime)inParams[1]; DateTime endTime = (DateTime)inParams[2]; ScheduleRecordingType recordingType = (ScheduleRecordingType)inParams[3]; ISchedule schedule = null; IChannel channel; bool result = channelAndGroupInfo.GetChannel(channelId, out channel) && scheduleControl.CreateScheduleByTime(channel, startTime, endTime, recordingType, out schedule); outParams = new List <object> { result, schedule }; return(null); }
public void SetProgram(IProgram program) { IProgramRecordingStatus recordingStatus = program as IProgramRecordingStatus; if (recordingStatus != null) { UpdateState(recordingStatus.RecordingStatus); } try { IChannel channel; IChannelAndGroupInfo channelAndGroupInfo = ServiceRegistration.Get <ITvHandler>().ChannelAndGroupInfo; if (program != null && channelAndGroupInfo != null && channelAndGroupInfo.GetChannel(program.ChannelId, out channel)) { ChannelName = channel.Name; } _settingProgram = true; IProgramSeries series = program as IProgramSeries; if (series != null) { SeasonNumber = series.SeasonNumber; EpisodeNumber = series.EpisodeNumber; EpisodeTitle = series.EpisodeTitle; Series = BuildSeriesText(this); } else { SeasonNumber = string.Empty; EpisodeNumber = string.Empty; EpisodeTitle = string.Empty; Series = string.Empty; } if (program != null) { ProgramId = program.ProgramId; Title = program.Title; Description = program.Description; StartTime = program.StartTime; EndTime = program.EndTime; Genre = program.Genre; } else { ProgramId = 0; Title = string.Empty; Description = string.Empty; StartTime = DateTime.Now.GetDay(); EndTime = StartTime.AddDays(1); Genre = string.Empty; } UpdateDuration(); } finally { _settingProgram = false; } }
private UPnPError OnGetChannelGroups(DvAction action, IList <object> inParams, out IList <object> outParams, CallContext context) { outParams = new List <object>(); IChannelAndGroupInfo channelAndGroupInfo = ServiceRegistration.Get <ITvProvider>() as IChannelAndGroupInfo; if (channelAndGroupInfo == null) { return(new UPnPError(500, "IChannelAndGroupInfo service not available")); } IList <IChannelGroup> groups; bool result = channelAndGroupInfo.GetChannelGroups(out groups); outParams = new List <object> { result, groups }; return(null); }
private UPnPError OnGetChannel(DvAction action, IList <object> inParams, out IList <object> outParams, CallContext context) { outParams = new List <object>(); IChannelAndGroupInfo channelAndGroupInfo = ServiceRegistration.Get <ITvProvider>() as IChannelAndGroupInfo; if (channelAndGroupInfo == null) { return(new UPnPError(500, "IChannelAndGroupInfo service not available")); } int channelId = (int)inParams[0]; IChannel channel; bool result = channelAndGroupInfo.GetChannel(channelId, out channel); outParams = new List <object> { result, new List <IChannel> { channel } }; return(null); }