コード例 #1
0
ファイル: Node.cs プロジェクト: adam-mccoy/pst
 internal Node(Nid nid, ulong dataBid, ulong subnodeBid, IPstReader reader)
 {
     Nid = nid;
     DataBid = dataBid;
     SubnodeBid = subnodeBid;
     _reader = reader;
 }
コード例 #2
0
ファイル: TableContext.cs プロジェクト: adam-mccoy/pst
 internal TableContext(
     Node node,
     IPstReader reader)
 {
     _node = node;
     _reader = reader;
     Initialize();
 }
コード例 #3
0
ファイル: PropertyContext.cs プロジェクト: adam-mccoy/pst
 internal PropertyContext(
     Node node,
     IPstReader reader)
 {
     _node = node;
     _pstReader = reader;
     Initialize();
 }
コード例 #4
0
ファイル: Node.cs プロジェクト: adam-mccoy/pst
        internal Node(Nid nid, Bid dataBid, Bid subnodeBid, IPstReader reader)
        {
            Nid        = nid;
            DataBid    = dataBid;
            SubnodeBid = subnodeBid;

            _reader = reader;
            if (SubnodeBid != 0)
            {
                _subnodeReader = new SubnodeReader(SubnodeBid, reader);
            }
        }
コード例 #5
0
ファイル: TcRow.cs プロジェクト: adam-mccoy/pst
 internal TcRow(
     int rowIndex,
     TcColumnOffsets offsets,
     TcColumnDef[] columnDefs,
     Segment<byte> rowData,
     Heap heap,
     Node node,
     IPstReader reader)
 {
     _rowIndex = rowIndex;
     _offsets = offsets;
     _columnDefs = columnDefs;
     _rowData = rowData;
     _heap = heap;
     _node = node;
     _reader = reader;
 }
コード例 #6
0
ファイル: NodeDataStream.cs プロジェクト: adam-mccoy/pst
            public State(Bid initialBid, IPstReader reader)
            {
                _reader = reader;

                var block = _reader.FindBlock(initialBid);

                if (initialBid.Type == BlockType.External)
                {
                    _dataTree.Add(new DataTreeItem(0, initialBid));
                    TotalLength = block.Length;
                }
                else if (block.Data[0] == 0x01) // data tree
                {
                    TotalLength = block.Data.Segment(4, 4).ToUInt32();
                    long offset = 0;
                    BuildDataTree(block, ref offset);
                }
                else
                {
                    throw new Exception("Invalid block data");
                }
            }
コード例 #7
0
ファイル: Folder.cs プロジェクト: adam-mccoy/pst
 internal Folder(Nid nid, IPstReader reader)
 {
     _nid = nid;
     _pstReader = reader;
     Initialize();
 }
コード例 #8
0
 public Heap(Node node, IPstReader reader)
 {
     _node   = node;
     _reader = reader;
     Initialize();
 }
コード例 #9
0
ファイル: MessageStore.cs プロジェクト: adam-mccoy/pst
 internal MessageStore(Nid nid, IPstReader reader)
 {
     _nid = nid;
     _pstReader = reader;
     Initialize();
 }
コード例 #10
0
ファイル: TableContext.cs プロジェクト: adam-mccoy/pst
 internal TableContext(Node node, IPstReader reader)
 {
     _node   = node;
     _reader = reader;
     Initialize();
 }
コード例 #11
0
ファイル: PropertyContext.cs プロジェクト: adam-mccoy/pst
 internal PropertyContext(Node node, IPstReader reader)
 {
     _node   = node;
     _reader = reader;
     Initialize();
 }
コード例 #12
0
ファイル: NodeDataStream.cs プロジェクト: adam-mccoy/pst
 public NodeDataStream(Bid bid, IPstReader reader)
 {
     _bid    = bid;
     _reader = reader;
 }
コード例 #13
0
 internal Message(Nid nid, IPstReader reader)
 {
     _nid       = nid;
     _pstReader = reader;
     Initialize();
 }
コード例 #14
0
 internal SubnodeReader(Bid bid, IPstReader reader)
 {
     _bid    = bid;
     _reader = reader;
 }
コード例 #15
0
        public static string DecodeString(this IPstReader reader, Segment <byte> encodedString)
        {
            var encoding = reader.IsAnsi ? Encoding.UTF8 : Encoding.Unicode;

            return(encoding.GetString(encodedString.Array, encodedString.Offset, encodedString.Count));
        }
コード例 #16
0
 internal Folder(Nid nid, IPstReader reader)
 {
     _nid       = nid;
     _pstReader = reader;
     Initialize();
 }
コード例 #17
0
ファイル: SubnodeReader.cs プロジェクト: adam-mccoy/pst
 internal SubnodeReader(ulong bid, IPstReader reader)
 {
     _bid = bid;
     _reader = reader;
 }