Exemple #1
0
        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();
        }
Exemple #2
0
        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);
        }