/// <summary> /// Writes the storage to disk /// </summary> /// <param name="filePath">Path to write the file</param> /// <param name="oldStorage">TODO</param> public void Write(String filePath, JStorageSource oldStorage) { IJStorageLoader loader; // Get a loader for this storage version loader = JStorageManager.GetLoader(this._version); // Write the storage loader.Write(this, oldStorage, filePath); }
/// <summary> /// Creates a new storage. /// </summary> /// <param name="fileName">Name of the file.</param> /// <param name="version">Version of the storage.</param> /// <param name="name">Name of the storage.</param> /// <param name="filters">Filters used in the storage.</param> /// <param name="rootNode">Root node of the storage.</param> /// <param name="oldStorage">Old storage (it can contain some files used in the new storage).</param> /// <returns>A new storage.</returns> public static JStorageSource CreateStorage(string fileName, int version, string name, List <IJFilter> filters, JStoreFileTreeNode rootNode, JStorageSource oldStorage) { JDirectory rootDirectory; JStorageSource newStorage; // Create the directories from the treeview rootDirectory = new JDirectory("Root"); CreateDirectories(rootDirectory, rootNode); // Create the storage newStorage = new JStorageSource(name, version, filters, rootDirectory); // Write it newStorage.Write(fileName, oldStorage); return(newStorage); }