public static string WriteFile(string content, string fileName) { string file = userDirectory + "\\" + fileName + ".sfk"; FileCondition condition = CheckFile(userDirectory, file); if (condition == FileCondition.DirectoryNotExist) { Directory.CreateDirectory(userDirectory); FileStream fs = File.Create(file); fs.Close(); } else if (condition == FileCondition.FileNotExist) { FileStream fs = File.Create(file); fs.Close(); } StreamWriter sw = new StreamWriter(file); sw.Write(content); sw.Close(); return(file); }
public static string ReadFile(string fileName) { string file = userDirectory + "\\" + fileName + ".sfk"; FileCondition condition = CheckFile(userDirectory, file); if (condition == FileCondition.FileExist) { string text = File.ReadAllText(file); return(text); } return(null); }
private static bool VerifyFile(File document, FileCondition condition) { if (condition?.Null == null) { return(true); } if (condition.Null.Value) { if (!(string.IsNullOrEmpty(document?.FilePath) || document.FileSize == 0 || document.FileStream != null)) { return(false); } } if (condition.Null.Value) { return(true); } return(document != null && document.FileSize > 0); }
private void GetAllFiles() { var fileSearch = new SearchConditionLists(); var fileNumCond = new FileCondition(-1, "", FileAttribute.fsaFileNumber, CustomAttributeTarget.catSelf, CompareOperation.coNotNull); fileSearch.FileConditions = new ArrayList(); fileSearch.FileConditions.Add(fileNumCond); FileDataTransportObject filesObj = _conn.DocumentServer.FindFile(fileSearch); if (!filesObj.objects.Any()) { return; } for (int i = 0; i < filesObj.objects.Count() && i < 10; i++) { ImgrFiles item = new ImgrFiles(); item.Text = filesObj.objects[i].fileNumber1; item.Value = filesObj.objects[i].id; comboBox2.Items.Add(item); } comboBox2.SelectedIndex = 0; }
private void GenerateConditionsForPrebuiltLibraries(FamilyDefinition family, Framework fw, CopyJob job) { var srcDir = Path.GetFullPath(_Builder.ExpandVariables(job.SourceFolder)); var allLibraries = Directory.GetFiles(srcDir, "*.a", SearchOption.AllDirectories) .Select(l => l.Substring(srcDir.Length).TrimStart('\\')).ToArray(); var conditions = new[] { new PrebuiltLibraryCondition("hard-float", "com.sysprogs.bspoptions.arm.floatmode", "-mfloat-abi=hard", "soft-float"), new PrebuiltLibraryCondition("no-interrupts", "com.sysprogs.bspoptions.nrf5x.interrupts", "no"), new PrebuiltLibraryCondition("short-wchar", "com.sysprogs.bspoptions.nrf5x.wchar", "-fshort-wchar"), }; Dictionary <string, PrebuiltLibraryCondition> conditionsByFolder = new Dictionary <string, PrebuiltLibraryCondition>(); foreach (var cond in conditions) { conditionsByFolder[cond.Folder] = cond; if (cond.InverseFolder != null) { conditionsByFolder[cond.InverseFolder] = cond; } } foreach (var grp in allLibraries.GroupBy(l => l.Substring(0, l.IndexOf('\\')), StringComparer.InvariantCultureIgnoreCase)) { HashSet <PrebuiltLibraryCondition> allConditionsInGroup = new HashSet <PrebuiltLibraryCondition>(); List <ConstructedLibraryCondition> libs = new List <ConstructedLibraryCondition>(); foreach (var lib in grp) { List <string> components = lib.Split('\\').ToList(); int libComponent = components.IndexOf("lib"); if (libComponent < 0) { throw new Exception($"Cannot build a list of conditional folders. {lib} does not contain 'lib' in the path."); } components.RemoveRange(0, libComponent + 1); string cortexPrefix = "cortex-"; if (!components[0].StartsWith(cortexPrefix)) { throw new Exception($"Relative path to {lib} does not start with 'cortex-'"); } string cortexCore = components[0].Substring(cortexPrefix.Length); components.RemoveAt(0); components.RemoveAt(components.Count - 1); foreach (var cmp in components) { if (!conditionsByFolder.TryGetValue(cmp, out var cond)) { throw new Exception($"Don't know how to map '{cmp}' to a prebuilt library condition"); } allConditionsInGroup.Add(cond); } libs.Add(new ConstructedLibraryCondition { Library = $"$$SYS:BSP_ROOT$$/{family.FamilySubdirectory}/{job.TargetFolder}/" + lib.Replace('\\', '/'), PathComponents = components.ToArray(), Core = cortexCore }); } foreach (var lib in libs) { List <Condition> finalConditions = new List <Condition>(); finalConditions.Add(new Condition.Equals { Expression = "$$com.sysprogs.bspoptions.nrf5x.cortex$$", ExpectedValue = lib.Core }); foreach (var usedCond in allConditionsInGroup) { var eqCond = new Condition.Equals { Expression = $"$${usedCond.Variable}$$", ExpectedValue = usedCond.Value }; if (lib.PathComponents.Contains(usedCond.Folder)) { finalConditions.Add(eqCond); } else { finalConditions.Add(new Condition.Not { Argument = eqCond }); } } FileCondition cond = new FileCondition { FilePath = lib.Library, ConditionToInclude = new Condition.And { Arguments = finalConditions.ToArray() } }; _Builder.AddFileCondition(cond); } } }