Exemplo n.º 1
0
 public ReportedPropertiesStore(IEntityStore <string, TwinStoreEntity> twinStore, ICloudSync cloudSync, Option <TimeSpan> syncFrequency)
 {
     this.twinStore       = twinStore;
     this.cloudSync       = cloudSync;
     this.syncFrequency   = syncFrequency.GetOrElse(DefaultSyncFrequency);
     this.syncToCloudTask = this.SyncToCloud();
 }
Exemplo n.º 2
0
        internal StoringTwinManager(
            IConnectionManager connectionManager,
            IMessageConverter <TwinCollection> twinCollectionConverter,
            IMessageConverter <Twin> twinConverter,
            IValidator <TwinCollection> reportedPropertiesValidator,
            ITwinStore twinStore,
            IReportedPropertiesStore reportedPropertiesStore,
            ICloudSync cloudSync,
            IDeviceConnectivityManager deviceConnectivityManager,
            TimeSpan minTwinSyncPeriod)
        {
            Preconditions.CheckNotNull(twinStore, nameof(twinStore));
            Preconditions.CheckNotNull(deviceConnectivityManager, nameof(deviceConnectivityManager));
            this.connectionManager       = Preconditions.CheckNotNull(connectionManager, nameof(connectionManager));
            this.twinCollectionConverter = Preconditions.CheckNotNull(twinCollectionConverter, nameof(twinCollectionConverter));
            this.twinConverter           = Preconditions.CheckNotNull(twinConverter, nameof(twinConverter));
            this.cloudSync = Preconditions.CheckNotNull(cloudSync, nameof(cloudSync));
            this.twinStore = Preconditions.CheckNotNull(twinStore, nameof(twinStore));
            this.reportedPropertiesStore     = Preconditions.CheckNotNull(reportedPropertiesStore, nameof(reportedPropertiesStore));
            this.reportedPropertiesValidator = reportedPropertiesValidator;
            this.minTwinSyncPeriod           = minTwinSyncPeriod;

            deviceConnectivityManager.DeviceConnected += (_, __) => this.DeviceConnectedCallback();

            Events.Initialized();
        }