Пример #1
0
        public void InsertNodeEntry(NodeID nodeID, DataTree dataTree, SubnodeBTree subnodeBTree, NodeID parentNodeID)
        {
            NodeBTreeEntry entry = new NodeBTreeEntry();

            entry.nid     = nodeID;
            entry.bidData = new BlockID(0);
            if (dataTree != null && dataTree.RootBlock != null)
            {
                entry.bidData = dataTree.RootBlock.BlockID;
            }

            entry.bidSub = new BlockID(0);
            if (subnodeBTree != null && subnodeBTree.RootBlock != null)
            {
                entry.bidSub = subnodeBTree.RootBlock.BlockID;
            }

            entry.nidParent = parentNodeID;
            InsertNodeEntry(entry);
        }
Пример #2
0
        public void UpdateNodeEntry(NodeID nodeID, DataTree dataTree, SubnodeBTree subnodeBTree)
        {
            NodeBTreeLeafPage leaf = (NodeBTreeLeafPage)FindLeafBTreePage(nodeID.Value);
            int index = leaf.GetIndexOfEntry(nodeID.Value);

            if (index >= 0)
            {
                leaf.NodeEntryList[index].bidData = new BlockID(0);
                if (dataTree != null && dataTree.RootBlock != null)
                {
                    leaf.NodeEntryList[index].bidData = dataTree.RootBlock.BlockID;
                }

                leaf.NodeEntryList[index].bidSub = new BlockID(0);
                if (subnodeBTree != null && subnodeBTree.RootBlock != null)
                {
                    leaf.NodeEntryList[index].bidSub = subnodeBTree.RootBlock.BlockID;
                }

                // now we have to store the new leaf page, and cascade the changes up to the root page
                UpdatePageAndReferences(leaf);
            }
        }
Пример #3
0
 public Subnode(PSTFile file, NodeID subnodeID, DataTree dataTree, SubnodeBTree subnodeBTree)
     : base(file, dataTree, subnodeBTree)
 {
     m_subnodeID = subnodeID;
 }
Пример #4
0
 public HeapOnNode(DataTree dataTree)
 {
     m_dataTree = dataTree;
 }
Пример #5
0
        private NamedPropertyContext m_propertyContext; // The BTH leaves are cached, so we use a single reference

        public Node(PSTFile file, DataTree dataTree, SubnodeBTree subnodeBTree)
        {
            m_file         = file;
            m_dataTree     = dataTree;
            m_subnodeBTree = subnodeBTree;
        }
Пример #6
0
 public PSTNode(PSTFile file, NodeID nodeID, DataTree dataTree, SubnodeBTree subnodeBTree) : base(file, dataTree, subnodeBTree)
 {
     m_nodeID = nodeID;
 }