|
| interface | IBackupExecutor |
| | Executes one or more backup jobs. When multiple job identifiers are provided, jobs run in parallel; when a single job is provided, it runs alone (same behavior as before). Depends on strategies, the FileSystem, the StateWriter, and logging (injected). Supports cooperative cancellation. More...
|
| interface | IBackupStrategy |
| | Defines the filtering of eligible files (complete vs differential). More...
|
| interface | IBackupStrategyFactory |
| | Provides the appropriate backup strategy based on the specified backup type. More...
|
| interface | IBusinessSoftwareDetector |
| | Detects whether a configured "business software" process is currently running. Used to block backup start and to stop after the current file during backup. More...
|
| interface | ICentralizedLogClient |
| | Port for sending log entries to a centralized log server. Implementations (adapters) must not throw: network errors must be handled without failing the backup. More...
|
| interface | IConfigurationRepository |
| | Defines methods for loading and saving the backup configuration, including the list of jobs, log/status directory, and the date of the last full backup for each job. More...
|
| interface | IFileEncryptor |
| | Encrypts a file using an external process (e.g. CryptoSoft). Follows Strategy pattern: the backup executor can use this instead of a plain copy for files whose extension is in the encryption list. More...
|
| interface | IFileSystemService |
| | Defines operations for interacting with the file system. Acts as an abstraction layer to handle file enumeration, copying, and metadata retrieval. More...
|
| interface | IPriorityTransferGate |
| | Coordinates transfer order across multiple backup jobs so that the global priority rule is respected: as long as any job has a priority file pending, no job may transfer a non-priority file. Used only when several jobs run in parallel. Single-job execution does not require a gate. More...
|
| interface | IStateWriter |
| | Defines the contract for writing the real-time state of backup jobs to a persistence medium (e.g., a single JSON file). More...
|