Ejemplo n.º 1
0
        internal Stream GetFolderStream(Stream stream, CFolder folder, IPasswordProvider pw)
        {
            int         firstPackStreamId = folder.FirstPackStreamId;
            long        folderStreamPos   = this.GetFolderStreamPos(folder, 0);
            List <long> list = new List <long>();

            for (int i = 0; i < folder.PackStreams.Count; i++)
            {
                list.Add(this.PackSizes[firstPackStreamId + i]);
            }
            return(DecoderStreamHelper.CreateDecoderStream(stream, folderStreamPos, list.ToArray(), folder, pw));
        }
Ejemplo n.º 2
0
        internal Stream GetFolderStream(Stream stream, CFolder folder, IPasswordProvider pw)
        {
            int         packStreamIndex    = folder.FirstPackStreamId;
            long        folderStartPackPos = GetFolderStreamPos(folder, 0);
            List <long> packSizes          = new List <long>();

            for (int j = 0; j < folder.PackStreams.Count; j++)
            {
                packSizes.Add(PackSizes[packStreamIndex + j]);
            }

            return(DecoderStreamHelper.CreateDecoderStream(stream, folderStartPackPos, packSizes.ToArray(), folder, pw));
        }
Ejemplo n.º 3
0
        internal Stream GetFolderStream(Stream stream, CFolder folder, IPasswordProvider pw)
        {
            int  packStreamIndex    = folder._firstPackStreamId;
            long folderStartPackPos = GetFolderStreamPos(folder, 0);
            int  count = folder._packStreams.Count;

            long[] packSizes = new long[count];
            for (int j = 0; j < count; j++)
            {
                packSizes[j] = _packSizes[packStreamIndex + j];
            }

            return(DecoderStreamHelper.CreateDecoderStream(stream, folderStartPackPos, packSizes, folder, pw));
        }