#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