Пример #1
0
        private UPnPError OnGetRecordingStatus(DvAction action, IList <object> inParams, out IList <object> outParams, CallContext context)
        {
            outParams = new List <object>();
            IProgramInfoAsync     programInfo     = ServiceRegistration.Get <ITvProvider>() as IProgramInfoAsync;
            IScheduleControlAsync scheduleControl = ServiceRegistration.Get <ITvProvider>() as IScheduleControlAsync;

            if (programInfo == null || scheduleControl == null)
            {
                return(new UPnPError(500, "IProgramInfo or IScheduleControl service not available"));
            }

            int programId = (int)inParams[0];

            bool            result = false;
            IProgram        program;
            RecordingStatus recordingStatus = RecordingStatus.None;

            if (programInfo.GetProgram(programId, out program))
            {
                var scheduleResult = scheduleControl.GetRecordingStatusAsync(program).Result;
                if (scheduleResult.Success)
                {
                    result          = true;
                    recordingStatus = scheduleResult.Result;
                }
            }

            outParams = new List <object> {
                result, recordingStatus.ToString()
            };
            return(null);
        }
Пример #2
0
        protected virtual async Task <RecordingStatus?> GetRecordingStatusAsync(IProgram program)
        {
            IScheduleControlAsync scheduleControl = _tvHandler.ScheduleControl;

            if (scheduleControl == null)
            {
                return(null);
            }

            var result = await scheduleControl.GetRecordingStatusAsync(program);

            if (result.Success)
            {
                return(result.Result);
            }
            return(null);
        }