main
 1import 'package:blood_pressure_app/model/storage/export_columns_store.dart';
 2import 'package:blood_pressure_app/model/storage/export_csv_settings_store.dart';
 3import 'package:blood_pressure_app/model/storage/export_pdf_settings_store.dart';
 4import 'package:blood_pressure_app/model/storage/export_settings_store.dart';
 5import 'package:blood_pressure_app/model/storage/export_xsl_settings_store.dart';
 6import 'package:blood_pressure_app/model/storage/interval_store.dart';
 7import 'package:blood_pressure_app/model/storage/settings_store.dart';
 8
 9/// A backend agnostic loader for settings data.
10abstract class SettingsLoader {
11  /// Loads the profiles [Settings] object from disk.
12  ///
13  /// If any errors occur or the object is not present, a default one will be
14  /// created. Changes in the object will save to the automatically.
15  ///
16  /// Changes to the disk data will not propagate to the object.
17  Future<Settings> loadSettings();
18
19  /// Loads the profiles [ExportSettings] object from disk.
20  ///
21  /// If any errors occur or the object is not present, a default one will be
22  /// created. Changes in the object will save to the automatically.
23  ///
24  /// Changes to the disk data will not propagate to the object.
25  Future<ExportSettings> loadExportSettings();
26
27  /// Loads the profiles [CsvExportSettings] object from disk.
28  ///
29  /// If any errors occur or the object is not present, a default one will be
30  /// created. Changes in the object will save to the automatically.
31  ///
32  /// Changes to the disk data will not propagate to the object.
33  Future<CsvExportSettings> loadCsvExportSettings();
34
35  /// Loads the profiles [PdfExportSettings] object from disk.
36  ///
37  /// If any errors occur or the object is not present, a default one will be
38  /// created. Changes in the object will save to the automatically.
39  ///
40  /// Changes to the disk data will not propagate to the object.
41  Future<PdfExportSettings> loadPdfExportSettings();
42
43  /// Loads a [IntervalStoreManager] object from disk.
44  ///
45  /// If any errors occur or the object is not present, a default one will be
46  /// created. Changes in the object will save to the automatically.
47  ///
48  /// Changes to the database will not propagate to the object.
49  Future<IntervalStoreManager> loadIntervalStorageManager();
50
51  /// Loads the profiles [ExportColumnsManager] object from disk.
52  ///
53  /// If any errors occur or the object is not present, a default one will be
54  /// created. Changes in the object will save to the automatically.
55  ///
56  /// Changes to the disk data will not propagate to the object.
57  Future<ExportColumnsManager> loadExportColumnsManager();
58
59  /// Loads the profiles [ExcelExportSettings] object from disk.
60  ///
61  /// If any errors occur or the object is not present, a default one will be
62  /// created. Changes in the object will save to the automatically.
63  ///
64  /// Changes to the disk data will not propagate to the object.
65  Future<ExcelExportSettings> loadXslExportSettings();
66}