diff --git a/CHANGELOG.md b/CHANGELOG.md index 18d0423..57189a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## [1.8.0] + +* More detailed synchronization status and send changes progress. + * Added enum `SyncDataState` with detailed data synchronization status. + * Added `SyncStateInfo.dataInfo` getter. + ## [1.7.0] * Added enum `SyncFilesState` with possible file synchronization statuses. diff --git a/lib/in_sync_interface.dart b/lib/in_sync_interface.dart index e4a6617..252a5e5 100644 --- a/lib/in_sync_interface.dart +++ b/lib/in_sync_interface.dart @@ -1,2 +1,3 @@ +export 'src/sync_data_info.dart'; export 'src/sync_repository.dart'; export 'src/sync_state_info.dart'; diff --git a/lib/src/sync_data_info.dart b/lib/src/sync_data_info.dart new file mode 100644 index 0000000..f40e283 --- /dev/null +++ b/lib/src/sync_data_info.dart @@ -0,0 +1,14 @@ +/// Data synchronization information. +abstract class SyncDataInfo { + SyncDataState? get state; + double? get sendChangesProgress; +} + +/// Sync data status. +enum SyncDataState { + /// Synchronization at the data sending stage. + sendChanges, + + /// Synchronization at the get entities stage. + getEntities, +} diff --git a/lib/src/sync_state_info.dart b/lib/src/sync_state_info.dart index cfbef28..2394742 100644 --- a/lib/src/sync_state_info.dart +++ b/lib/src/sync_state_info.dart @@ -1,7 +1,10 @@ +import 'package:in_sync_interface/in_sync_interface.dart'; + /// Synchronization status information, including errors. abstract class SyncStateInfo { SyncState get state; SyncFilesState get syncFilesState; + SyncDataInfo get dataInfo; SyncError? get syncError; Object? get errorData; diff --git a/pubspec.yaml b/pubspec.yaml index d7eb7b4..166c123 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: in_sync_interface description: An interface for synchronization functional. Used by in_sync. -version: 1.7.0 +version: 1.8.0 homepage: https://github.com/innim/ repository: https://github.com/Innim/in_sync_interface issue_tracker: https://github.com/Innim/in_sync_interface/issues