public static void BakeFileSystemData(SerializedHashDevice device) { var allDirs = new List <SerializedHashDir>(); var allTextFiles = new List <SerializedHashFileText>(); var allImageFiles = new List <SerializedHashFileImage>(); var folders = Directory.GetDirectories(RESOURCE_FOLDER_PATH_IN_PROJECT + device.DeviceName); for (int i = 0; i < folders.Length; i++) { FillDirsAndFiles(folders[i], -1, allDirs, allTextFiles, allImageFiles); } // change the name of the root folder to be the unix-like var root = allDirs[0]; root.Name = PathUtil.PathSeparator; allDirs[0] = root; var fileSystem = device.FileSystem; fileSystem.Dirs = allDirs.ToArray(); fileSystem.ImageFiles = allImageFiles.ToArray(); fileSystem.TextFiles = allTextFiles.ToArray(); }
public static HashDevice GetDeviceFromSerializedData(SerializedHashDevice serializedDevice) { var device = new HashDevice(); device.DeviceName = serializedDevice.DeviceName; device.Condition = serializedDevice.Condition; device.IpAddress = serializedDevice.IpAddress; device.AllPrograms = ProgramUtil.GetAllProgramsFromSerializedData(serializedDevice.Programs); device.AllUsers = SList.Create <HashUser>(serializedDevice.Users.Length); for (int i = 0; i < serializedDevice.Users.Length; i++) { var user = GetUserFromSerializedData(serializedDevice.Users[i]); SList.Add(device.AllUsers, user); } var defaultUser = new HashUser(); defaultUser.Username = DEFAULT_USER_NAME; defaultUser.Password = DEFAULT_PASSWORD; SList.Add(device.AllUsers, defaultUser); device.FileSystem = FileSystem.GetFileSystemFromSerializedData(serializedDevice.FileSystem); return(device); }