diff options
author | David Robillard <d@drobilla.net> | 2012-08-14 21:37:20 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-08-14 21:37:20 +0000 |
commit | 76b602f1f834cb2c255848c5ba887b3d7c47171a (patch) | |
tree | cbe6588c70f2df4384231d9cbdfd06fb0aa7e45f /src/server/events/Delete.cpp | |
parent | a8312be2d849b73ff0acc80a226095bcfee3556c (diff) | |
download | ingen-76b602f1f834cb2c255848c5ba887b3d7c47171a.tar.gz ingen-76b602f1f834cb2c255848c5ba887b3d7c47171a.tar.bz2 ingen-76b602f1f834cb2c255848c5ba887b3d7c47171a.zip |
Replace use of old Raul Table stuff with std::map.
Move most Store functionality into Ingen::Store and eliminate EngineStore.
Much cleaner delete and move implementations.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4696 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/events/Delete.cpp')
-rw-r--r-- | src/server/events/Delete.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/server/events/Delete.cpp b/src/server/events/Delete.cpp index 3121d6ad..96668af1 100644 --- a/src/server/events/Delete.cpp +++ b/src/server/events/Delete.cpp @@ -14,6 +14,7 @@ along with Ingen. If not, see <http://www.gnu.org/licenses/>. */ +#include "ingen/Store.hpp" #include "raul/Maid.hpp" #include "raul/Path.hpp" @@ -24,7 +25,6 @@ #include "Driver.hpp" #include "Engine.hpp" #include "EnginePort.hpp" -#include "EngineStore.hpp" #include "NodeImpl.hpp" #include "PatchImpl.hpp" #include "PluginImpl.hpp" @@ -48,7 +48,7 @@ Delete::Delete(Engine& engine, , _ports_array(NULL) , _compiled_patch(NULL) , _disconnect_event(NULL) - , _lock(engine.engine_store()->lock(), Glib::NOT_LOCK) + , _lock(engine.store()->lock(), Glib::NOT_LOCK) { if (GraphObject::uri_is_path(uri)) { _path = GraphObject::uri_to_path(uri); @@ -71,17 +71,15 @@ Delete::pre_process() _removed_bindings = _engine.control_bindings()->remove(_path); - EngineStore::iterator iter = _engine.engine_store()->find(_path); - - if (iter != _engine.engine_store()->end()) { - _node = PtrCast<NodeImpl>(iter->second); - - if (!_node) + Store::iterator iter = _engine.store()->find(_path); + if (iter != _engine.store()->end()) { + if (!(_node = PtrCast<NodeImpl>(iter->second))) { _port = PtrCast<PortImpl>(iter->second); + } } - if (iter != _engine.engine_store()->end()) { - _removed_table = _engine.engine_store()->remove(iter); + if (iter != _engine.store()->end()) { + _engine.store()->remove(iter, _removed_objects); } if (_node && !_path.is_root()) { |