Пример #1
0
        public object Clone()
        {
            mAgicReservation cloneObject = new mAgicReservation();

            cloneObject.rawData = (byte[])rawData.Clone();

            return(cloneObject);
        }
Пример #2
0
        ////////////////////////////////////////////////////////////////
        // 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);
        }