/// <summary>
        /// ストリームを開く
        /// </summary>
        /// <param name="board">書き込む板のヘッダ情報</param>
        /// <param name="modeRead">ストレージを開く方法</param>
        public override bool Open(BoardInfo board, StorageMode mode)
        {
            if (board == null)
            {
                throw new ArgumentNullException("board");
            }
            if (isOpen)
            {
                throw new InvalidCastException("既にストリームが開かれています");
            }

            // 書き込み先ファイル名
            string filePath = Path.Combine(cache.GetFolderPath(board), "subject.txt");

            // ストリームを開く
            if (mode == StorageMode.Read)
            {
                baseStream = StreamCreator.CreateReader(filePath, false);
            }
            else
            {
                baseStream = StreamCreator.CreateWriter(filePath, false, false);
            }

            // パーサを初期化
            dataParser = new X2chThreadListParser(board.Bbs, encoding);

            this.index     = 1;
            this.position  = 0;
            this.mode      = mode;
            this.isOpen    = true;
            this.boardInfo = board;

            return(true);
        }
 /// <summary>
 /// ThreadListReaderBaseクラスのインスタンスを初期化
 /// </summary>
 /// <param name="parser">スレッド一覧の解析に使用するパーサー</param>
 public ThreadListReaderBase(ThreadListParser parser)
     : this()
 {
     //
     // TODO: コンストラクタ ロジックをここに追加してください。
     //
     dataParser = parser;
 }
        /// <summary>
        /// ストリームを閉じる
        /// </summary>
        public override void Close()
        {
            if (baseStream != null)
            {
                baseStream.Close();
            }

            dataParser = null;
            baseStream = null;
            boardInfo  = null;
            buffer     = null;
            position   = 0;
            isOpen     = false;
        }
 /// <summary>
 /// パーサを指定して、X2chThreadListReaderクラスのインスタンスを初期化
 /// </summary>
 /// <param name="dataParser">データの解析に使用するパーサー</param>
 public X2chThreadListReader(ThreadListParser dataParser)
     : base(dataParser)
 {
 }
예제 #5
0
 /// <summary>
 /// パーサを指定してMachiThreadListReaderクラスのインスタンスを初期化
 /// </summary>
 public MachiThreadListReader(ThreadListParser dataParser)
     : base(dataParser)
 {
 }