/// <summary> /// Add a single allowlist entry to the list. /// </summary> public void Add(ValuePathFileAccessAllowlistEntry entry) { Contract.Requires(entry != null); m_valuePathEntries.Add(entry.OutputValue, entry); m_counts.AddOrUpdate(entry.Name, 0, (k, v) => v); HasEntries = true; }
private static void DeserializeCore(BuildXLReader reader, FileAccessAllowlist allowlist) { var valuePathEntryCount = reader.ReadInt32Compact(); for (int i = 0; i < valuePathEntryCount; i++) { allowlist.Add(ValuePathFileAccessAllowlistEntry.Deserialize(reader)); } var executablePathEntryCount = reader.ReadInt32Compact(); for (int i = 0; i < executablePathEntryCount; i++) { allowlist.Add(ExecutablePathAllowlistEntry.Deserialize(reader)); } }
private static void DeserializeCore(BuildXLReader reader, FileAccessAllowlist allowlist) { var valuePathEntryCount = reader.ReadInt32Compact(); for (int i = 0; i < valuePathEntryCount; i++) { allowlist.Add(ValuePathFileAccessAllowlistEntry.Deserialize(reader)); } // Execute this part twice, first time for m_executablePathEntries (Absolute Path) and a second time for m_executablePathAtomEntries (Path Atom) var executablePathEntryCount = reader.ReadInt32Compact(); for (int j = 0; j < executablePathEntryCount; j++) { allowlist.Add(ExecutablePathAllowlistEntry.Deserialize(reader)); } }