Beispiel #1
0
        // This is only called from ApplicationProxyInternal.GetSaveHistoryBytes when
        // we are persisting the entire journal; we only do that when we're quitting.
        // [new] Also when navigating a Frame that has its own journal.
        //


        internal void PruneKeepAliveEntries()
        {
            for (int i = TotalCount - 1; i >= 0; --i)
            {
                JournalEntry je = _journalEntryList[i];
                if (je.IsAlive())
                {
                    RemoveEntryInternal(i);
                }
                else
                {
                    Debug.Assert(je.GetType().IsSerializable);
                    // There can be keep-alive JEs creates for child frames.
                    DataStreams jds = je.JEGroupState.JournalDataStreams;
                    if (jds != null)
                    {
                        jds.PrepareForSerialization();
                    }

                    if (je.RootViewerState != null)
                    {
                        je.RootViewerState.PrepareForSerialization();
                    }
                }
            }
        }
Beispiel #2
0
        public void Clear()
        {
            CDNIndex?.Clear();
            CDNIndex = null;

            foreach (var stream in DataStreams)
            {
                stream.Value.Dispose();
            }

            DataStreams.Clear();

            EncodingHandler?.Clear();
            EncodingHandler = null;

            InstallHandler?.Clear();
            InstallHandler = null;

            LocalIndex?.Clear();
            LocalIndex = null;

            RootHandler?.Clear();
            RootHandler = null;

            DownloadHandler?.Clear();
            DownloadHandler = null;
        }
Beispiel #3
0
        public void Clear()
        {
            CDNIndex?.Clear();
            CDNIndex = null;

            foreach (var stream in DataStreams)
            {
                stream.Value.Dispose();
            }

            DataStreams.Clear();

            Encoding?.Clear();
            Encoding = null;

            Install?.Clear();
            Install = null;

            LocalIndex?.Clear();
            LocalIndex = null;

            Root?.Clear();
            Root = null;

            Download?.Clear();
            Download = null;
        }
 // Token: 0x06002903 RID: 10499 RVA: 0x000BDCB4 File Offset: 0x000BBEB4
 internal virtual void RestoreState(object contentObject)
 {
     if (contentObject == null)
     {
         throw new ArgumentNullException("contentObject");
     }
     if (!this.IsAlive())
     {
         DataStreams journalDataStreams = this._jeGroupState.JournalDataStreams;
         if (journalDataStreams != null)
         {
             journalDataStreams.Load(contentObject);
             journalDataStreams.Clear();
         }
     }
 }
Beispiel #5
0
 internal virtual void RestoreState(object contentObject)
 {
     if (contentObject == null)
     {
         throw new ArgumentNullException("contentObject");
     }
     if (IsAlive())
     {
         Debug.Assert(_jeGroupState.JournalDataStreams == null);
     }
     else
     {
         DataStreams jds = _jeGroupState.JournalDataStreams;
         if (jds != null)
         {
             jds.Load(contentObject);
             // DataStreams not needed anymore. Clear for fresh saving when the next navigation
             // occurs.
             jds.Clear();
         }
     }
 }
Beispiel #6
0
 // Token: 0x060028E1 RID: 10465 RVA: 0x000BD7C4 File Offset: 0x000BB9C4
 internal void PruneKeepAliveEntries()
 {
     for (int i = this.TotalCount - 1; i >= 0; i--)
     {
         JournalEntry journalEntry = this._journalEntryList[i];
         if (journalEntry.IsAlive())
         {
             this.RemoveEntryInternal(i);
         }
         else
         {
             DataStreams journalDataStreams = journalEntry.JEGroupState.JournalDataStreams;
             if (journalDataStreams != null)
             {
                 journalDataStreams.PrepareForSerialization();
             }
             if (journalEntry.RootViewerState != null)
             {
                 journalEntry.RootViewerState.PrepareForSerialization();
             }
         }
     }
 }
Beispiel #7
0
        public void Clear()
        {
            CDNIndex.Clear();
            CDNIndex = null;

            foreach (var stream in DataStreams)
            {
                stream.Value.Close();
            }

            DataStreams.Clear();

            EncodingHandler.Clear();
            EncodingHandler = null;

            if (InstallHandler != null)
            {
                InstallHandler.Clear();
                InstallHandler = null;
            }

            if (LocalIndex != null)
            {
                LocalIndex.Clear();
                LocalIndex = null;
            }

            RootHandler.Clear();
            RootHandler = null;

            if (DownloadHandler != null)
            {
                DownloadHandler.Clear();
                DownloadHandler = null;
            }
        }
Beispiel #8
0
 private void _InitDataStreams()
 {
     DataStreams        = new DataStreams();
     EffectData         = DataStreams.GetDataStream(null);
     SequenceFilterData = DataStreams.CreateStream("SequenceFilter");
 }
 public DataStream GetDataStreamByShortName(String shortName)
 {
     return(DataStreams.Find(d => d.ShortName == shortName));
 }