/// <summary> /// EPGデータの更新があれば再読み込みする /// </summary> /// <returns></returns> public ErrCode ReloadEpgData() { ErrCode ret = ErrCode.CMD_SUCCESS; try { if (updateEpgData == true && (noAutoReloadEpg == false || oneTimeReloadEpg == true)) { if (cmd == null) { return(ErrCode.CMD_ERR); } serviceEventList = new Dictionary <ulong, EpgServiceEventInfo>(); var list = new List <EpgServiceEventInfo>(); ret = (ErrCode)cmd.SendEnumPgAll(ref list); if (ret != ErrCode.CMD_SUCCESS) { return(ret); } list.ForEach(info => serviceEventList.Add(info.serviceInfo.Create64Key(), info)); updateEpgData = false; oneTimeReloadEpg = false; } } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); } return(ret); }
/// <summary> /// EPGデータの更新があれば再読み込みする /// </summary> /// <returns></returns> public ErrCode ReloadEpgData() { ErrCode ret = ErrCode.CMD_SUCCESS; try { if (noAutoReloadEpg == true) { if (updateEpgData == true && oneTimeReloadEpg == true) { if (cmd == null) { ret = ErrCode.CMD_ERR; } else { serviceEventList.Clear(); serviceEventList = null; serviceEventList = new Dictionary <ulong, EpgServiceEventInfo>(); List <EpgServiceEventInfo> list = new List <EpgServiceEventInfo>(); ret = (ErrCode)cmd.SendEnumPgAll(ref list); if (ret == ErrCode.CMD_SUCCESS) { foreach (EpgServiceEventInfo info in list) { UInt64 id = CommonManager.Create64Key( info.serviceInfo.ONID, info.serviceInfo.TSID, info.serviceInfo.SID); serviceEventList.Add(id, info); } updateEpgData = false; oneTimeReloadEpg = false; } list.Clear(); list = null; } } } else { if (updateEpgData == true) { if (cmd == null) { ret = ErrCode.CMD_ERR; } else { serviceEventList.Clear(); serviceEventList = null; serviceEventList = new Dictionary <ulong, EpgServiceEventInfo>(); List <EpgServiceEventInfo> list = new List <EpgServiceEventInfo>(); ret = (ErrCode)cmd.SendEnumPgAll(ref list); if (ret == ErrCode.CMD_SUCCESS) { foreach (EpgServiceEventInfo info in list) { UInt64 id = CommonManager.Create64Key( info.serviceInfo.ONID, info.serviceInfo.TSID, info.serviceInfo.SID); serviceEventList.Add(id, info); } updateEpgData = false; } list.Clear(); list = null; } } } } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace); } return(ret); }