From c8ae7295e911c62cf9dedf90187656937cc18cbb Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 30 Jul 2016 13:10:13 -0400 Subject: Add undo support --- ingen/Interface.hpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'ingen/Interface.hpp') 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 + Copyright 2007-2016 David Robillard 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 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. */ -- cgit v1.2.1