public void SetModemConfig(string path, string outputDirectory) { _logger.LogInfo(Strings.QcdmApplyingModemConfig); if (string.IsNullOrEmpty(outputDirectory)) { using (var manager = OpenQcdmManager()) { using (var input = new StreamReader(File.OpenRead(path), Encoding.UTF8, true)) { var configItems = NvItemUtils.GetConfigs(input); input.BaseStream.Seek(0, SeekOrigin.Begin); var items = NvItemUtils.PhoneLoadItems(manager, configItems); ItemsJsonSerializer.DeserializeItems(items, input); NvItemUtils.PhoneSaveItems(manager, items, _logger); } } } else { using (var input = new StreamReader(File.OpenRead(path), Encoding.UTF8, true)) { Directory.CreateDirectory(outputDirectory); var configItems = NvItemUtils.GetConfigs(input); input.BaseStream.Seek(0, SeekOrigin.Begin); var items = NvItemUtils.LocalLoadItems(outputDirectory, configItems); ItemsJsonSerializer.DeserializeItems(items, input); NvItemUtils.LocalSaveItems(outputDirectory, items, _logger); } } }
public void GetModemConfig(string path, string inputDirectory, string itemNames, int subscription, bool verbose) { var inDirectory = inputDirectory; if (!string.IsNullOrEmpty(inDirectory)) { inDirectory = CheckAndFixPath(inDirectory); } _logger.LogInfo(Strings.QcdmGeneratingModemConfig); if (string.IsNullOrEmpty(inputDirectory)) { using (var manager = OpenQcdmManager()) { using (var output = File.CreateText(path)) { var items = string.IsNullOrEmpty(itemNames) ? NvItemUtils.PhoneLoadItems(manager, subscription, _logger, verbose) : NvItemUtils.PhoneLoadItems(manager, subscription, _logger, verbose, new HashSet <string>(itemNames.Split(','))); ItemsJsonSerializer.SerializeItems(items, output); output.Flush(); output.Close(); } } } else { using (var output = File.CreateText(path)) { var items = string.IsNullOrEmpty(itemNames) ? NvItemUtils.LocalLoadItems(inDirectory, subscription, _logger, verbose) : NvItemUtils.LocalLoadItems(inDirectory, subscription, _logger, verbose, new HashSet <string>(itemNames.Split(','))); ItemsJsonSerializer.SerializeItems(items, output); output.Flush(); output.Close(); } } }