aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/operation.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2/operation.hxx')
-rw-r--r--libbuild2/operation.hxx18
1 files changed, 17 insertions, 1 deletions
diff --git a/libbuild2/operation.hxx b/libbuild2/operation.hxx
index e8ff38a..4ca1305 100644
--- a/libbuild2/operation.hxx
+++ b/libbuild2/operation.hxx
@@ -177,9 +177,19 @@ namespace build2
// diagnostics (unless quiet).
//
LIBBUILD2_SYMEXPORT void
- perform_execute (const values&, action, const action_targets&,
+ perform_execute (const values&, action, action_targets&,
uint16_t diag, bool prog);
+ // Call the context-wide post operation callbacks. Should be called after
+ // perfrom_match() if perform_execute() will not be called. Note that
+ // perform_match() handles its own failures but not the match_only case.
+ //
+ LIBBUILD2_SYMEXPORT void
+ perform_post_operation_callbacks (context&,
+ action,
+ const action_targets&,
+ bool failed);
+
LIBBUILD2_SYMEXPORT extern const meta_operation_info mo_noop;
LIBBUILD2_SYMEXPORT extern const meta_operation_info mo_perform;
LIBBUILD2_SYMEXPORT extern const meta_operation_info mo_info;
@@ -225,6 +235,12 @@ namespace build2
//
const size_t concurrency;
+ // Whether to keep going in case of errors for this operation. If the
+ // value is false, then the context's keep_going flag is overridden for
+ // the duration of the operation.
+ //
+ const bool keep_going;
+
// The values argument in the callbacks is the operation parameters. If
// the operation expects parameters, then it should have a non-NULL
// operation_pre() callback. Failed that, any parameters will be diagnosed