コード例 #1
0
ファイル: Context.cs プロジェクト: Lukas0610/ndiscutils
        internal BaseItem FindKey(Key key)
        {
            switch (key.ItemType)
            {
            case ItemType.RootItem:
                return(RootTreeRoot.FindFirst(key, this));

            case ItemType.DirItem:
                return(RootTreeRoot.FindFirst(key, this));

            default:
                throw new NotImplementedException();
            }
        }
コード例 #2
0
ファイル: Context.cs プロジェクト: Lukas0610/ndiscutils
        internal NodeHeader GetFsTree(ulong treeId)
        {
            NodeHeader tree;

            if (FsTrees.TryGetValue(treeId, out tree))
            {
                return(tree);
            }
            var rootItem = RootTreeRoot.FindFirst <RootItem>(new Key(treeId, ItemType.RootItem), this);

            if (rootItem == null)
            {
                return(null);
            }
            tree            = ReadTree(rootItem.ByteNr, rootItem.Level);
            FsTrees[treeId] = tree;
            return(tree);
        }