Example #1
0
        /// <summary>
        /// Default constructor that takes a <c>IDatabase</c>, <c>ILogger</c>, and optional exclusion patterns as input.
        /// </summary>
        /// <param name="database"></param>
        /// <param name="logger"></param>
        /// <param name="exclusionPatterns"></param>
        public SourceScanner(IClientDatabase database, ILogger logger, string[] exclusionPatterns)
        {
            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            Database = database;
            Logger   = logger;
            Hasher   = new Hasher(logger);

            if (exclusionPatterns != null)
            {
                Exclusions = new Regex[exclusionPatterns.Length];

                for (int i = 0; i < exclusionPatterns.Length; i++)
                {
                    Exclusions[i] = new Regex(exclusionPatterns[i]);
                }
            }
        }
Example #2
0
        public void Execute(string outputFolderName, string databaseName, IClientDatabase db)
        {
            this.outputFolderName = outputFolderName;
            this.databaseName     = databaseName;

            Init(db);
        }
Example #3
0
 /// <summary>
 /// Constructor that accepts a database and logger.
 /// </summary>
 /// <param name="database">The client database connection.</param>
 /// <param name="logger">A logging instance.</param>
 /// <param name="instanceID">A parameter to specify the engine instance ID.</param>
 /// <param name="coreSettings">The core settings accessor.</param>
 public RestoreEngine(IClientDatabase database,
                      ILogger logger,
                      int instanceID,
                      ICoreSettings coreSettings)
     : base(database, logger, instanceID, coreSettings)
 {
 }
Example #4
0
        /// <summary>
        /// A constructor that accepts a database and logger.
        /// </summary>
        /// <param name="database">The client database connection.</param>
        /// <param name="logger">A logging instance.</param>
        /// <param name="providers">A collection of cloud backup providers.</param>
        /// <param name="instanceID">An engine instance ID.</param>
        public FileSender(IClientDatabase database, ILogger logger, StorageProviderConnectionsCollection providers, int instanceID)
        {
            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            if (providers == null)
            {
                throw new ArgumentNullException(nameof(providers));
            }
            if (providers.Count == 0)
            {
                throw new ArgumentException(nameof(providers) + " must be provided.");
            }

            Database   = database;
            Logger     = logger;
            Providers  = providers;
            Hasher     = new Hasher(Logger);
            InstanceID = instanceID;
        }
Example #5
0
        /// <summary>
        /// Constructor that accepts a database and logger.
        /// </summary>
        /// <param name="database">The client database connection.</param>
        /// <param name="logger">A logging instance.</param>
        /// <param name="instanceID">A parameter to specify the engine instance ID.</param>
        /// <param name="coreSettings">The core settings accessor.</param>
        protected BaseEngine(IClientDatabase database, ILogger logger, int instanceID, ICoreSettings coreSettings)
        {
            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            if (coreSettings == null)
            {
                throw new ArgumentNullException(nameof(coreSettings));
            }
            if (instanceID < 0)
            {
                throw new ArgumentException(nameof(instanceID) + " must be a positive integer.");
            }

            Database     = database;
            Logger       = logger;
            InstanceID   = instanceID;
            CoreSettings = coreSettings;
            CancelSource = new CancellationTokenSource();
        }
Example #6
0
        public virtual void Init(IClientDatabase database)
        {
            this.database = database;
            var values = database.SelectAll(this);

            InitTableItems(values);
        }
Example #7
0
        /// <summary>
        /// Constructor that accepts the database connection.
        /// </summary>
        /// <param name="database"></param>
        public ProviderConnections(IClientDatabase database)
        {
            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }

            Database = database;
        }
Example #8
0
        /// <summary>
        /// A constructor that accepts a database instance.
        /// </summary>
        /// <param name="client"></param>
        /// <param name="coreSettings"></param>
        public WindowsSetup(IClientDatabase client, ICoreSettings coreSettings)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }
            if (coreSettings == null)
            {
                throw new ArgumentNullException(nameof(coreSettings));
            }

            DatabaseClient = client;
            CoreSettings   = coreSettings;
        }
        /// <summary>
        /// A constructor that specifies data protection scope and entropy.
        /// </summary>
        /// <param name="settingsDatabase">Settings database</param>
        /// <param name="scope">Data protection scope</param>
        /// <param name="entropy">Additional entropy</param>
        public ProtectedDataStore(IClientDatabase settingsDatabase, DataProtectionScope scope, byte[] entropy)
        {
            if (settingsDatabase == null)
            {
                throw new ArgumentNullException(nameof(settingsDatabase));
            }
            if (entropy == null || entropy.Length == 0)
            {
                throw new ArgumentException(nameof(entropy) + " value must be provided.");
            }

            Database = settingsDatabase;
            Scope    = scope;
            Entropy  = entropy;
        }
Example #10
0
        /// <summary>
        /// Pull the current scanning options from the database.
        /// </summary>
        /// <param name="db"></param>
        /// <returns></returns>
        private async Task <ScanFrequencies> GetScanFrequenciesAsync(IClientDatabase db)
        {
            ScanFrequencies scan = new ScanFrequencies();

            scan.LowPriorityScanFrequencyInHours =
                Convert.ToInt32(await db.GetApplicationOptionAsync(Constants.RuntimeSettingNames.LowPriorityScanFrequencyInHours).ConfigureAwait(false));

            scan.MedPriorityScanFrequencyInHours =
                Convert.ToInt32(await db.GetApplicationOptionAsync(Constants.RuntimeSettingNames.MedPriorityScanFrequencyInHours).ConfigureAwait(false));

            scan.HighPriorityScanFrequencyInHours =
                Convert.ToInt32(await db.GetApplicationOptionAsync(Constants.RuntimeSettingNames.HighPriorityScanFrequencyInHours).ConfigureAwait(false));

            scan.MetaPriorityScanFrequencyInHours =
                Convert.ToInt32(await db.GetApplicationOptionAsync(Constants.RuntimeSettingNames.MetaPriorityScanFrequencyInHours).ConfigureAwait(false));

            return(scan);
        }
Example #11
0
 public ChatService()
 {
     clientsDatabase = DatabaseManager.GetDatabase <IClientDatabase>();
     chatDatabase    = DatabaseManager.GetDatabase <IChatDatabase>();
 }
 protected override void BeginProcessing()
 {
     database = GetDatabaseConnection();
 }