Parented log entry binds an entry to its parent group and can be a missing entry (a line or group opening or closing that we know it exists but have no data for it or only their ILogEntry.LogTime).
                internal LivePage(int initialGroupDepth, ParentedLogEntry[] entries, MultiFileReader r, int pageLength)
                {
                    Debug.Assert(pageLength == entries.Length || entries.Length == 0);
                    _r           = r;
                    _pageLength  = pageLength;
                    _currentPath = new List <ParentedLogEntry>();
                    ParentedLogEntry e = null;

                    for (int i = 0; i < initialGroupDepth; ++i)
                    {
                        ParentedLogEntry g = new ParentedLogEntry(e, LogEntry.CreateMissingOpenGroup(DateTimeStamp.Unknown));
                        _currentPath.Add(g);
                        e = g;
                    }
                    _entries = new WrappedList(entries);
                    if (_r != null)
                    {
                        _entries.FillPage(_r, _currentPath);
                    }
                }
Beispiel #2
0
 internal ParentedLogEntry( ParentedLogEntry parent, ILogEntry entry )
 {
     Parent = parent;
     Entry = entry;
 }
Beispiel #3
0
 internal ParentedLogEntry(ParentedLogEntry parent, ILogEntry entry)
 {
     Parent = parent;
     Entry  = entry;
 }