bool IPackageLoader.TryParsePackage(Stream s, string filename, FS context, out IReadOnlyPackage package) { if (!filename.EndsWith(".bag", StringComparison.InvariantCultureIgnoreCase)) { package = null; return(false); } // A bag file is always accompanied with an .idx counterpart // For example: audio.bag requires the audio.idx file var indexFilename = Path.ChangeExtension(filename, ".idx"); List <IdxEntry> entries = null; try { // Build the index and dispose the stream, it is no longer needed after this using (var indexStream = context.Open(indexFilename)) entries = new IdxReader(indexStream).Entries; } catch { package = null; return(false); } package = new BagFile(s, entries, filename); return(true); }
public static void Init() { System.Diagnostics.Debug.WriteLine(" path :+ " + parametersPath); var param = new BagFile(); try { param.Load(parametersPath); IsAutoShareEnabled = param.IsAutoShareEnabled; IsControlsEnabled = param.IsControlsEnabled; string[] serverList = new string[param.RecentServersList.Count]; param.RecentServersList.CopyTo(serverList, 0); RecentServersList = new List <string>(serverList); DidInitParameters = true; } catch { IsUsingFirstTime = true; IsAutoShareEnabled = false; IsControlsEnabled = false; DidInitParameters = true; RecentServersList = new List <string>(); Save(); } }
public static void Save() { try { if (!DidInitParameters) { System.Diagnostics.Debug.WriteLine("Init parameters first!"); return; } var param = new BagFile(); param.IsAutoShareEnabled = IsAutoShareEnabled; param.IsControlsEnabled = IsControlsEnabled; string[] serverList = new string[RecentServersList.Count]; RecentServersList.CopyTo(serverList, 0); param.RecentServersList = new List <string>(serverList); param.Save(parametersPath); } catch { } }