예제 #1
0
        public void Unserialise(Stream s)
        {
            Type     = (EFSNodeType)s.ReadValue <int>();
            Name     = s.ReadValue <Tools.ByValStrings.ByValANSIString128>().cstring;
            Metadata = s.ReadValue <EFSNodeInformation>();
            Flags    = s.ReadValue <uint>();
            int dl = s.ReadValue <int>();

            if (dl > 0)
            {
                Data = s.ReadNew(dl);
            }
            else
            {
                Data = null;
            }
            int cl = s.ReadValue <int>();

            if (cl > 0)
            {
                c_list = new List <EFSNode>();
                for (int i = 0; i < cl; i++)
                {
                    EFSNode child = new EFSNode();
                    child.Unserialise(s);
                    c_list.Add(child);
                }
            }
            else
            {
                Children = null;
            }
        }
예제 #2
0
        public static EFSNode CreateFromStream(Stream s)
        {
            EFSNode n = new EFSNode();

            n.Unserialise(s);
            return(n);
        }
예제 #3
0
        public void Unserialise(Stream s)
        {
            root.Unserialise(s);

            root.Name = "";
            root.Type = EFSNodeType.Folder;
            root.Data = null;
        }