示例#1
0
        public static DefaultFsServerObjects GetDefaultEmulatedCreators(IFileSystem rootFileSystem, Keyset keyset)
        {
            var creators = new FileSystemCreators();
            var gameCard = new EmulatedGameCard(keyset);
            var sdCard   = new EmulatedSdCard();

            var gcStorageCreator = new EmulatedGameCardStorageCreator(gameCard);

            creators.RomFileSystemCreator            = new RomFileSystemCreator();
            creators.PartitionFileSystemCreator      = new PartitionFileSystemCreator();
            creators.StorageOnNcaCreator             = new StorageOnNcaCreator(keyset);
            creators.TargetManagerFileSystemCreator  = new TargetManagerFileSystemCreator();
            creators.SubDirectoryFileSystemCreator   = new SubDirectoryFileSystemCreator();
            creators.SaveDataFileSystemCreator       = new SaveDataFileSystemCreator(keyset);
            creators.GameCardStorageCreator          = gcStorageCreator;
            creators.GameCardFileSystemCreator       = new EmulatedGameCardFsCreator(gcStorageCreator, gameCard);
            creators.EncryptedFileSystemCreator      = new EncryptedFileSystemCreator(keyset);
            creators.BuiltInStorageFileSystemCreator = new EmulatedBisFileSystemCreator(rootFileSystem);
            creators.SdFileSystemCreator             = new EmulatedSdFileSystemCreator(sdCard, rootFileSystem);

            var deviceOperator = new EmulatedDeviceOperator(gameCard, sdCard);

            return(new DefaultFsServerObjects
            {
                FsCreators = creators,
                DeviceOperator = deviceOperator,
                GameCard = gameCard,
                SdCard = sdCard
            });
        }
示例#2
0
        public void InitializeFileSystemServer(FileSystemCreators fsCreators, IDeviceOperator deviceOperator)
        {
            if (FileSystemServer != null)
            {
                return;
            }

            lock (_initLocker)
            {
                if (FileSystemServer != null)
                {
                    return;
                }

                var config = new FileSystemServerConfig();
                config.FsCreators     = fsCreators;
                config.DeviceOperator = deviceOperator;

                FileSystemServer = new FileSystemServer(config);
            }
        }
示例#3
0
 public FileSystemProxyCore(FileSystemCreators fsCreators, ExternalKeySet externalKeys, IDeviceOperator deviceOperator)
 {
     FsCreators     = fsCreators;
     ExternalKeys   = externalKeys ?? new ExternalKeySet();
     DeviceOperator = deviceOperator;
 }