private CyclicPersistantDatabase(string filename)
        {
            if (File.Exists(filename + ".xml"))
            {
                throw new FileNotFoundException("Xml with name " + filename + ".xml must " +
                                                "exist for database (if previously persisted).");
            }

            // We read it.
            database = MemoryDatabase.OpenDatabase(filename + current.ToString() + ".image");
        }
Exemple #2
0
        /// <summary>
        /// Persists to stream.
        /// </summary>
        /// <param name="filename">The filename.</param>
        /// <param name="database">The database.</param>
        public static void PersistToStream([NotEmpty] string filename, [NotNull] MemoryDatabase database)
        {
            Stream stream = File.Create(filename);

            try
            {
                PersistToStream(stream, database);
            }
            finally
            {
                stream.Dispose();
            }
        }
        /// <summary>
        /// Persists this instance.
        /// </summary>
        public void Persist()
        {
            // We first change current.
            if (current == 1)
            {
                current = 0;
            }
            else
            {
                current = 1;
            }

            // We write database first.
            MemoryDatabase.PersistToStream(filename + current.ToString() + ".image", database);

            // And update XML.
            WriteXml();
        }
Exemple #4
0
 /// <summary>
 /// Persists to stream.
 /// </summary>
 /// <param name="stream">The stream.</param>
 /// <param name="database">The database.</param>
 public static void PersistToStream(Stream stream, MemoryDatabase database)
 {
     Common.SerializeToStream(stream, database);
 }
 private CyclicPersistantDatabase(string filename, string name, Type type, StreamOptions ops)
 {
     this.filename = filename;
     this.database = MemoryDatabase.CreateNewDatabase(name, type, ops);
 }