23 lines
1.1 KiB
C++
23 lines
1.1 KiB
C++
#pragma once
|
|
// prune_action — the "Prune bank folder" action body (Phase R3; Q-W4 split of
|
|
// actions.cpp). This is the SOLE file-deletion action in ReaSampler, isolated in its
|
|
// own TU so the deletion authority is one obvious module on the actions side (its
|
|
// persist-side counterpart concentrates into prune_fs in Q-W5). Registration and
|
|
// hookcommand routing for its FOREVER-STABLE id (BANK_PRUNE_FOLDER) stay with the
|
|
// bank family (bank_actions) — one registration flow, one guarded body here.
|
|
//
|
|
// Contract (preserve exactly): dry-run first; abort outright on unreadable usage
|
|
// records (pS-usage fail-safe); confirm-with-manifest before any deletion; opens NO
|
|
// undo point and writes NO ext state (file deletion is not REAPER-undoable). Routes
|
|
// to persist's public session API only (pruneDryRun / pruneOrphanSet / pruneReclaim).
|
|
|
|
namespace reasampler {
|
|
|
|
class ReaSamplerSession;
|
|
|
|
// Runs the guarded prune flow against `session`. Called by the bank family's
|
|
// hookcommand handler when the BANK_PRUNE_FOLDER action fires.
|
|
void doBankPruneFolder(ReaSamplerSession& session);
|
|
|
|
} // namespace reasampler
|