public static Dictionary <string, object> PhoneLoadItems(QcdmManager manager, int subscription) { var items = new Dictionary <string, object>(); foreach (var filePath in ItemsFactory.SupportedEfsFilePaths) { var realFilePath = GetEfsFilePath(filePath, subscription); if (manager.Efs.FileExists(realFilePath)) { var itemType = ItemsFactory.GetEfsFileType(filePath); using (var stream = FileUtils.PhoneOpenRead(manager, realFilePath)) { var item = ItemsBinarySerializer.Deserialize(stream, itemType); items.Add(itemType.Name, item); stream.Close(); } } } foreach (var nvItemId in ItemsFactory.SupportedNvItemIds) { var itemType = ItemsFactory.GetNvItemType(nvItemId); using (var stream = NvOpenRead(manager, (ushort)nvItemId)) { if (stream != null) { var item = ItemsBinarySerializer.Deserialize(stream, itemType); items.Add(itemType.Name, item); stream.Close(); } } } return(items); }
public static Dictionary <string, object> LocalLoadItems(string directoryPath, HashSet <string> configItems) { var items = new Dictionary <string, object>(); foreach (var fileUnixPath in ItemsFactory.SupportedEfsFilePaths) { var itemType = ItemsFactory.GetEfsFileType(fileUnixPath); if (configItems == null || configItems.Contains(itemType.Name)) { var filePath = fileUnixPath.Replace('/', '\\'); var fileAttribute = EfsFileAttributeUtils.Get(itemType); var path = fileAttribute == null ? $"{directoryPath}{filePath}" : PathUtils.BuildPath(directoryPath, filePath, fileAttribute.Permissions, fileAttribute.IsItemFile ? DirectoryEntryType.ItemFile : DirectoryEntryType.File, false); if (!File.Exists(path)) { path = $"{directoryPath}{filePath}"; } if (File.Exists(path)) { using (var stream = FileUtils.LocalOpenRead(path)) { var item = ItemsBinarySerializer.Deserialize(stream, itemType); items.Add(itemType.Name, item); stream.Close(); } } } } foreach (var nvItemId in ItemsFactory.SupportedNvItemIds) { var itemType = ItemsFactory.GetNvItemType(nvItemId); if (configItems == null || configItems.Contains(itemType.Name)) { var nvItemFileName = PathUtils.GetNvItemFileName((ushort)nvItemId); var path = Path.Combine(directoryPath, nvItemFileName); if (File.Exists(path)) { using (var stream = FileUtils.LocalOpenRead(path)) { var item = ItemsBinarySerializer.Deserialize(stream, itemType); items.Add(itemType.Name, item); stream.Close(); } } } } return(items); }
public static Dictionary <string, object> PhoneLoadItems(QcdmManager manager, int subscription, Logger logger, bool verbose, HashSet <string> configItems) { var items = new Dictionary <string, object>(); foreach (var filePath in ItemsFactory.SupportedEfsFilePaths) { var realFilePath = PathUtils.GetEfsFilePath(filePath, subscription); var itemType = ItemsFactory.GetEfsFileType(filePath); if (configItems == null || configItems.Contains(itemType.Name)) { if (manager.Efs.FileExists(realFilePath)) { using (var stream = FileUtils.PhoneOpenReadMemory(manager, realFilePath)) { if (verbose) { logger.LogInfo(string.Format(Strings.QcdmProcessingFormat, filePath)); } var item = ItemsBinarySerializer.Deserialize(stream, itemType); items.Add(itemType.Name, item); stream.Close(); } } } } foreach (var nvItemId in ItemsFactory.SupportedNvItemIds) { var itemType = ItemsFactory.GetNvItemType(nvItemId); if (configItems == null || configItems.Contains(itemType.Name)) { using (var stream = NvOpenRead(manager, (ushort)nvItemId)) { if (stream != null) { if (verbose) { logger.LogInfo(string.Format(Strings.QcdmProcessingFormat, itemType.Name)); } var item = ItemsBinarySerializer.Deserialize(stream, itemType); items.Add(itemType.Name, item); stream.Close(); } } } } return(items); }
public static Dictionary <string, object> LocalLoadItems(string directoryPath, int subscription, Logger logger, bool verbose) { var items = new Dictionary <string, object>(); foreach (var fileUnixPath in ItemsFactory.SupportedEfsFilePaths) { var itemType = ItemsFactory.GetEfsFileType(fileUnixPath); var fileAttribute = EfsFileAttributeUtils.Get(itemType); var filePath = PathUtils.GetEfsFilePath(fileUnixPath, subscription); filePath = filePath.Replace('/', '\\'); var path = fileAttribute == null ? $"{directoryPath}{filePath}" : PathUtils.BuildPath(directoryPath, filePath, fileAttribute.Permissions, fileAttribute.IsItemFile ? DirectoryEntryType.ItemFile : DirectoryEntryType.File, false); if (!File.Exists(path)) { path = $"{directoryPath}{filePath}"; path = PathUtils.FindFile($"{path}__"); } if (!File.Exists(path)) { path = $"{directoryPath}{filePath}"; } if (File.Exists(path)) { using (var stream = FileUtils.LocalOpenRead(path)) { if (verbose) { logger.LogInfo(string.Format(Strings.QcdmProcessingFormat, path)); } var item = ItemsBinarySerializer.Deserialize(stream, itemType); items.Add(itemType.Name, item); stream.Close(); } } } foreach (var nvItemId in ItemsFactory.SupportedNvItemIds) { var itemType = ItemsFactory.GetNvItemType(nvItemId); var nvItemFileName = PathUtils.GetNvItemFileName((ushort)nvItemId); var path = Path.Combine(directoryPath, nvItemFileName); if (File.Exists(path)) { using (var stream = FileUtils.LocalOpenRead(path)) { if (verbose) { logger.LogInfo(string.Format(Strings.QcdmProcessingFormat, itemType)); } var item = ItemsBinarySerializer.Deserialize(stream, itemType); items.Add(itemType.Name, item); stream.Close(); } } } return(items); }