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(); }
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(); }