Esempio n. 1
0
 public ForwardService(IAutoResetEventAdapter waitHandle, IReynaLogger logger, IBatchConfiguration batchConfiguration, IPeriodicBackoutCheck periodicBackoutCheck)
     : base(waitHandle, true)
 {
     Logger = logger;
     _batchConfiguration = batchConfiguration;
     PeriodicBackoutCheck = periodicBackoutCheck;
 }
Esempio n. 2
0
        public ForwardService(IRepository sourceStore, IHttpClient httpClient, INetworkStateService networkStateService, IWaitHandle waitHandle, int temporaryErrorMilliseconds, int sleepMilliseconds, bool batchUpload, IReynaLogger logger)
            : base(sourceStore, waitHandle, true, logger)
        {
            if (httpClient == null)
            {
                throw new ArgumentNullException("httpClient");
            }

            if (networkStateService != null)
            {
                this.NetworkStateService = networkStateService;
                this.NetworkStateService.NetworkConnected += this.OnNetworkConnected;
            }

            this.HttpClient = httpClient;            
            this.TemporaryErrorMilliseconds = temporaryErrorMilliseconds;
            this.SleepMilliseconds = sleepMilliseconds;
            this.PeriodicBackoutCheck = new RegistryPeriodicBackoutCheck(new Registry(), @"Software\Reyna\PeriodicBackoutCheck");

            if (batchUpload)
            {
                this.MessageProvider = new BatchProvider(sourceStore, this.PeriodicBackoutCheck);
            }
            else
            {
                this.MessageProvider = new MessageProvider(sourceStore);
            }
        }
Esempio n. 3
0
 public HttpClient(IConnectionManager connectionManager, IWebRequest webRequest, 
     IReynaLogger logger, ITime time)
 {
     this.ConnectionManager = connectionManager;
     _webRequest = webRequest;
     _logger = logger;
     _time = time;
 }
Esempio n. 4
0
        public static void SetStorageSizeLimit(IReynaLogger logger, byte[] password, long limit)
        {
            limit = limit < MinimumStorageLimit ? MinimumStorageLimit : limit;
            new Preferences().SetStorageSizeLimit(limit);

            var repository = new SQLiteRepository(logger, password);

            repository.Initialise();
            repository.ShrinkDb(limit);
        }
Esempio n. 5
0
        public StoreService(IRepository targetStore, IReynaLogger logger)
        {
            if (targetStore == null)
            {
                throw new ArgumentNullException("targetStore");
            }

            this.TargetStore = targetStore;
            this.Logger      = logger;

            this.TargetStore.Initialise();
        }
Esempio n. 6
0
        public StoreService(IRepository targetStore, IReynaLogger logger)
        {
            if (targetStore == null)
            {
                throw new ArgumentNullException("targetStore");
            }

            this.TargetStore = targetStore;
            this.Logger = logger;
            
            this.TargetStore.Initialise();
        }
Esempio n. 7
0
        public HttpClient(ICertificatePolicy certificatePolicy, IReynaLogger logger)
        {
            if (certificatePolicy != null)
            {
#pragma warning disable 0618
                ServicePointManager.CertificatePolicy = certificatePolicy;
#pragma warning restore 0618
            }

            this.TimeProvider = new TimeProvider();
            this.Logger       = logger;
            this.StatusGetter = new HttpStatusGetter();
        }
Esempio n. 8
0
        public ServiceBase(IRepository sourceStore, IWaitHandle waitHandle, bool runOnStart, IReynaLogger logger)
            : base(waitHandle, runOnStart)
        {
            if (sourceStore == null)
            {
                throw new ArgumentNullException("sourceStore");
            }

            this.SourceStore = sourceStore;
            this.Logger = logger;
            this.SourceStore.Initialise();

            this.SourceStore.MessageAdded += this.OnMessageAdded;
        }
Esempio n. 9
0
        public ReynaService(byte[] password, ICertificatePolicy certificatePolicy, bool useNetworkState, IReynaLogger logger)
        {
            this.Password = password;
            this.Logger = logger;
            this.PersistentStore = new SQLiteRepository(password);
            this.HttpClient = new HttpClient(certificatePolicy);
            this.EncryptionChecker = new EncryptionChecker();

            this.ForwardWaitHandle = new AutoResetEventAdapter(false);

            if (useNetworkState)
            {
                this.SystemNotifier = new SystemNotifier();
                this.NetworkWaitHandle = new NamedWaitHandle(false, Reyna.NetworkStateService.NetworkConnectedNamedEvent);
                this.NetworkStateService = new NetworkStateService(this.SystemNotifier, this.NetworkWaitHandle);
            }

            var preferences = new Preferences();
            this.StoreService = new StoreService(this.PersistentStore, logger);
            this.ForwardService = new ForwardService(this.PersistentStore, this.HttpClient, this.NetworkStateService, this.ForwardWaitHandle, Preferences.ForwardServiceTemporaryErrorBackout, Preferences.ForwardServiceMessageBackout, preferences.BatchUpload, logger);
        }
Esempio n. 10
0
 public ReynaService(byte[] password, ICertificatePolicy certificatePolicy, IReynaLogger logger)
     : this(password, certificatePolicy, true, logger)
 {
 }
Esempio n. 11
0
 public ReynaService(bool useNetworkState, IReynaLogger logger)
     : this(null, null, useNetworkState, logger)
 {
 }
Esempio n. 12
0
        private const long MinimumStorageLimit = 1867776; // 1Mb 800Kb

        public ReynaService(IReynaLogger logger)
            : this(null, null, logger)
        {
        }
Esempio n. 13
0
        private const long MinimumStorageLimit = 1867776; // 1Mb 800Kb

        public ReynaService(byte[] password, ICertificatePolicy certificatePolicy, bool useNetworkState, IReynaLogger logger)
        {
            this.Password          = password;
            this.Logger            = logger;
            this.PersistentStore   = new SQLiteRepository(logger, password);
            this.HttpClient        = new HttpClient(certificatePolicy, logger);
            this.EncryptionChecker = new EncryptionChecker();

            this.ForwardWaitHandle = new AutoResetEventAdapter(false);

            if (useNetworkState)
            {
                this.SystemNotifier      = new SystemNotifier();
                this.NetworkWaitHandle   = new NamedWaitHandle(false, Reyna.NetworkStateService.NetworkConnectedNamedEvent);
                this.NetworkStateService = new NetworkStateService(this.SystemNotifier, this.NetworkWaitHandle);
            }

            var preferences = new Preferences();

            this.StoreService   = new StoreService(this.PersistentStore, logger);
            this.ForwardService = new ForwardService(this.PersistentStore, this.HttpClient, this.NetworkStateService, this.ForwardWaitHandle, Preferences.ForwardServiceTemporaryErrorBackout, Preferences.ForwardServiceMessageBackout, preferences.BatchUpload, logger);
        }
 public MbnInterfaceManagerWrapper(IReynaLogger logger)
 {
     _logger = logger;
     _mbnInterfaceManager = null;
     _canInitialiseMbnInterfaceManager = true;
 }
Esempio n. 15
0
        public ForwardService(IRepository sourceStore, IHttpClient httpClient, INetworkStateService networkStateService, IWaitHandle waitHandle, int temporaryErrorMilliseconds, int sleepMilliseconds, bool batchUpload, IReynaLogger logger)
            : base(sourceStore, waitHandle, true, logger)
        {
            if (httpClient == null)
            {
                throw new ArgumentNullException("httpClient");
            }

            if (networkStateService != null)
            {
                this.NetworkStateService = networkStateService;
                this.NetworkStateService.NetworkConnected += this.OnNetworkConnected;
            }

            this.HttpClient = httpClient;
            this.TemporaryErrorMilliseconds = temporaryErrorMilliseconds;
            this.SleepMilliseconds          = sleepMilliseconds;
            this.ContactInformation         = new RegistryContactInformation(new Registry(), @"Software\Reyna");
            this.PeriodicBackoutCheck       = new RegistryPeriodicBackoutCheck(new Registry(), @"Software\Reyna\PeriodicBackoutCheck");

            if (batchUpload)
            {
                this.MessageProvider = new BatchProvider(sourceStore, this.PeriodicBackoutCheck);
            }
            else
            {
                this.MessageProvider = new MessageProvider(sourceStore);
            }
        }
Esempio n. 16
0
 public SQLiteRepository(IReynaLogger logger, byte[] password)
 {
     this.Password = password;
     this.SizeDifferenceToStartCleaning = 307200; ////300Kb in bytes
     this.Logger = logger;
 }
Esempio n. 17
0
 public ReynaWebRequest(IReynaLogger logger)
 {
     Logger = logger;
 }
Esempio n. 18
0
        public ServiceBase(IRepository sourceStore, IWaitHandle waitHandle, bool runOnStart, IReynaLogger logger)
            : base(waitHandle, runOnStart)
        {
            if (sourceStore == null)
            {
                throw new ArgumentNullException("sourceStore");
            }

            this.SourceStore = sourceStore;
            this.Logger      = logger;
            this.SourceStore.Initialise();

            this.SourceStore.MessageAdded += this.OnMessageAdded;
        }