Esempio n. 1
0
 public FileStorageSystem(DataBaseSettings DdtaBaseSettings, IStorageIO fileIO, ISerializationFactory sf, IPecanLogger logger)
 {
     this.Logger               = logger;
     this.DataBaseSettings     = DdtaBaseSettings;
     this._fileIO              = fileIO;
     this.SerializationFactory = sf;
 }
Esempio n. 2
0
        public FileSystemNTFS(IStorageIO storageIO)
            : base(storageIO)
        {
            SystemFiles = new List <NtfsSysFileInfo>();
            var sysfiles = Enum.GetValues(typeof(NtfsSysFiles));

            for (int i = 0; i < MFT_FILE_COUNT; i++)
            {
                var sysfile = new NtfsSysFileInfo
                {
                    Index    = i,
                    File     = (NtfsSysFiles)sysfiles.GetValue(i),
                    FileName = "$" + sysfiles.GetValue(i),
                    Size     = MFT_FILE_SIZE,
                };
                SystemFiles.Add(sysfile);
            }
        }
Esempio n. 3
0
 public FileSystemFAT(IStorageIO storageIO)
     : base(storageIO)
 {
 }
Esempio n. 4
0
 public Storage(string name, IStorageIO storageIO, IConverter converter)
 {
     _name      = name ?? throw new ArgumentException(nameof(name));
     _storageIO = storageIO ?? throw new ArgumentException(nameof(storageIO));
     _converter = converter ?? throw new ArgumentException(nameof(converter));
 }
Esempio n. 5
0
 public Storage(string name, IStorageIO storageIO)
     : this(name, storageIO, Json.Instance)
 {
 }
Esempio n. 6
0
 public StorageViewModel(IStorageIO <T> storageIo)
     : base(storageIo)
 {
 }
Esempio n. 7
0
        public DataBaseSettings(string databaseName, ISerializationFactory serializationFactory, IStorageIO fileio, string storageName, IPecanLogger logger, string baseDirectory)
        {
            if (databaseName == null)
            {
                throw new ArgumentNullException(nameof(databaseName));
            }

            this.FileIo = fileio ?? new StorageIO(logger);

            if (baseDirectory != null)
            {
                baseDirectory = baseDirectory.TrimEnd('/').TrimEnd('\\').TrimEnd('/').TrimEnd('\\');
                if (!this.FileIo.DirectoryExists(baseDirectory))
                {
                    this.FileIo.CreateDirectory(baseDirectory);
                }
            }

            DbStorageLocation = (string.IsNullOrEmpty(baseDirectory) ? AppDomain.CurrentDomain.BaseDirectory : baseDirectory) + "\\" + (string.IsNullOrEmpty(storageName) ? "pecan" : storageName);

            this.StorageMechanismMech = new JsonStorageMechanism(
                new FileStorageSystem(this, this.FileIo, serializationFactory ?? new JsonSerializationFactory(logger), logger),
                databaseName,
                DbStorageLocation,
                logger
                );
            Type pecanDbLoggerType = typeof(PecanDbLogger);

            PecanDbLogger.DefaultPecanLogger = logger;
            Config akkaConfig =
                $@"akka.loglevel = DEBUG
                    akka.loggers=[""{pecanDbLoggerType.FullName}, {pecanDbLoggerType.GetTypeInfo().Assembly.GetName().Name}""]";

            this.AppActorSystemystem        = ActorSystem.Create("StorageActorSystem-" + Guid.NewGuid().ToString(), akkaConfig);
            this.StorageActor               = this.AppActorSystemystem.ActorOf(Props.Create(() => new StorageActor(logger)), TypeOfWrapper.TypeOf(typeof(StorageActor)).Name);
            this.AkkaCommonStorageMechanism = new AkkaActorSystemMechanism(this.StorageActor, this.StorageMechanismMech, this, logger);
        }
Esempio n. 8
0
 public DatabaseService(string databaseDirectory, string databaseName, ISerializationFactory serializationFactory, IStorageIO fileIo, IPecanLogger logger, bool useInMemoryStorage = false, string storageName = null)
 {
     this.Logger = logger;
     if (useInMemoryStorage)
     {
         fileIo = new InMemoryStorageIO(this.Logger);
     }
     this.DataBaseSettings          = new DataBaseSettings(databaseName, serializationFactory, fileIo, storageName, logger, databaseDirectory);
     this.DirectDocumentManipulator = new DirectDocumentManipulator(this.DataBaseSettings.StorageMechanismMech, this, logger);
 }
Esempio n. 9
0
 public Storage(IStorageIO <T> storageIo)
 {
     _storageIo  = storageIo;
     _binaryTree = new BinarySearchTree <T>(_storageIo.ReadAll());
 }
Esempio n. 10
0
 public FileManager(IStorageIO storageIO)
 {
     _storageIO = storageIO;
 }
 public FileSystemBase(IStorageIO storageIO)
 {
     _storageIO = storageIO;
 }