Esempio n. 1
0
        public ZFS(IArchive a)
        {
            archive = a;
            root    = new MyEntry(null);
            List <MyEntry> folders = new List <MyEntry>();

            list.Add(root);
            folders.Add(root);

            foreach (var e in archive.Entries)
            {
                var m = new MyEntry(e);
                list.Add(m);
                if (m.IAE.IsDirectory)
                {
                    folders.Add(m);
                }
            }
            foreach (var e in list)
            {
                var i = folders.FindIndex(f => f.Path == e.ParentPath);
                if (i >= 0)
                {
                    folders[i].Child.Add(e);
                }
            }
        }
Esempio n. 2
0
        bool Find(string path, out MyEntry myEntry)
        {
            myEntry = null;
            var d = list.FindIndex(i => i.Path == path);

            if (d == -1)
            {
                return(false);
            }
            myEntry = list[d];
            return(true);
        }