EasySave v3.0
Loading...
Searching...
No Matches
EasySave.Core.Interfaces Namespace Reference

Classes

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...