summaryrefslogtreecommitdiffstats
path: root/ingen/Interface.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'ingen/Interface.hpp')
-rw-r--r--ingen/Interface.hpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/ingen/Interface.hpp b/ingen/Interface.hpp
index 8f6e25c4..a1a93c06 100644
--- a/ingen/Interface.hpp
+++ b/ingen/Interface.hpp
@@ -1,6 +1,6 @@
/*
This file is part of Ingen.
- Copyright 2007-2015 David Robillard <http://drobilla.net/>
+ Copyright 2007-2016 David Robillard <http://drobilla.net/>
Ingen is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free
@@ -55,10 +55,14 @@ public:
virtual void set_respondee(SPtr<Interface> respondee) {}
- /** Begin an atomic bundle */
+ /** Begin a transaction.
+ *
+ * This does not guarantee strict atomicity, but the events in a bundle will be
+ * considered one operation, and they will all be undone at once.
+ */
virtual void bundle_begin() = 0;
- /** End (and send) an atomic bundle */
+ /** End a transaction. */
virtual void bundle_end() = 0;
virtual void put(const Raul::URI& uri,
@@ -90,6 +94,10 @@ public:
const Raul::URI& predicate,
const Atom& value) = 0;
+ virtual void undo() = 0;
+
+ virtual void redo() = 0;
+
/** Set the ID to use to respond to the next message.
* Setting the ID to 0 will disable responses.
*/