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}