public object Clone() { mAgicReservation cloneObject = new mAgicReservation(); cloneObject.rawData = (byte[])rawData.Clone(); return(cloneObject); }
//////////////////////////////////////////////////////////////// // FUNCTION : mAgicScheduler::EnumScheduleEntries // DESCRIPT : mAgicTVに登録された全予約エントリを列挙する //////////////////////////////////////////////////////////////// static public uint EnumScheduleEntries(CallbackEnumScheduleEntries callBack) { string filePath = GetSettingFolder() + "\\schedule.dat"; uint n; int entrySize = (int)mAgicReservation.GetBytes(); using (FileStream file = new FileStream(filePath, FileMode.Open)) { for (n = 0; ; ++n) { uint sectionTop = (uint)(HeaderSize + n * entrySize); file.Seek(sectionTop, SeekOrigin.Begin); if (file.Position >= file.Length) { break; } byte[] tableEntry = new byte[entrySize]; file.Read(tableEntry, 0, entrySize); // エントリを1つ読み込む mAgicReservation reservation; reservation = new mAgicReservation(tableEntry); if (callBack(reservation)) { // // 変更された予約エントリを書き戻す // file.Seek(sectionTop, SeekOrigin.Begin); file.Write(tableEntry, 0, entrySize); } } } return(n); }