/// <summary> /// Merge another manifest into this one /// </summary> /// <param name="Other">The manifest to merge in</param> public void Include(VersionManifest Other) { foreach(KeyValuePair<string, string> Pair in Other.ModuleNameToFileName) { if(!ModuleNameToFileName.ContainsKey(Pair.Key)) { ModuleNameToFileName.Add(Pair.Key, Pair.Value); } } }
/// <summary> /// Merge another manifest into this one /// </summary> /// <param name="Other">The manifest to merge in</param> public void Include(VersionManifest Other) { foreach (KeyValuePair <string, string> Pair in Other.ModuleNameToFileName) { if (!ModuleNameToFileName.ContainsKey(Pair.Key)) { ModuleNameToFileName.Add(Pair.Key, Pair.Value); } } }
/// <summary> /// Read an app receipt from disk /// </summary> /// <param name="FileName">Filename to read from</param> /// <returns>The receipt that was read</returns> public static VersionManifest Read(string FileName) { JsonObject Object = JsonObject.Read(FileName); VersionManifest Receipt = new VersionManifest(Object.GetIntegerField("Changelist"), Object.GetStringField("BuildId")); JsonObject Modules = Object.GetObjectField("Modules"); foreach(string ModuleName in Modules.KeyNames) { Receipt.ModuleNameToFileName.Add(ModuleName, Modules.GetStringField(ModuleName)); } return Receipt; }
/// <summary> /// Read an app receipt from disk /// </summary> /// <param name="FileName">Filename to read from</param> /// <returns>The receipt that was read</returns> public static VersionManifest Read(string FileName) { JsonObject Object = JsonObject.Read(FileName); VersionManifest Receipt = new VersionManifest(Object.GetIntegerField("Changelist"), Object.GetStringField("BuildId")); JsonObject Modules = Object.GetObjectField("Modules"); foreach (string ModuleName in Modules.KeyNames) { Receipt.ModuleNameToFileName.Add(ModuleName, Modules.GetStringField(ModuleName)); } return(Receipt); }
/// <summary> /// Tries to read a receipt from disk. /// </summary> /// <param name="FileName">The filename that was read</param> /// <param name="Receipt">If successful, the receipt that was read. Null otherwise.</param> /// <returns>True if the file was read succesfully.</returns> public static bool TryRead(string FileName, out VersionManifest Result) { if (!File.Exists(FileName)) { Result = null; return(false); } try { Result = Read(FileName); return(true); } catch (Exception) { Result = null; return(false); } }
/// <summary> /// Read an app receipt from disk /// </summary> /// <param name="FileName">Filename to read from</param> /// <returns>The receipt that was read</returns> public static VersionManifest Read(string FileName) { JsonObject Object = JsonObject.Read(FileName); int Changelist = Object.GetIntegerField("Changelist"); int CompatibleChangelist; if (!Object.TryGetIntegerField("CompatibleChangelist", out CompatibleChangelist)) { CompatibleChangelist = Changelist; } VersionManifest Receipt = new VersionManifest(Changelist, CompatibleChangelist, Object.GetStringField("BuildId")); JsonObject Modules = Object.GetObjectField("Modules"); foreach (string ModuleName in Modules.KeyNames) { Receipt.ModuleNameToFileName.Add(ModuleName, Modules.GetStringField(ModuleName)); } return(Receipt); }
/// <summary> /// Tries to read a receipt from disk. /// </summary> /// <param name="FileName">The filename that was read</param> /// <param name="Receipt">If successful, the receipt that was read. Null otherwise.</param> /// <returns>True if the file was read succesfully.</returns> public static bool TryRead(string FileName, out VersionManifest Result) { if(!File.Exists(FileName)) { Result = null; return false; } try { Result = Read(FileName); return true; } catch(Exception) { Result = null; return false; } }
/// <summary> /// Read an app receipt from disk /// </summary> /// <param name="FileName">Filename to read from</param> /// <returns>The receipt that was read</returns> public static VersionManifest Read(string FileName) { JsonObject Object = JsonObject.Read(FileName); int Changelist = Object.GetIntegerField("Changelist"); int CompatibleChangelist; if(!Object.TryGetIntegerField("CompatibleChangelist", out CompatibleChangelist)) { CompatibleChangelist = Changelist; } VersionManifest Receipt = new VersionManifest(Changelist, CompatibleChangelist, Object.GetStringField("BuildId")); JsonObject Modules = Object.GetObjectField("Modules"); foreach (string ModuleName in Modules.KeyNames) { Receipt.ModuleNameToFileName.Add(ModuleName, Modules.GetStringField(ModuleName)); } return Receipt; }