summaryrefslogtreecommitdiffstats
path: root/src/server/events/Delete.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-08-14 21:37:20 +0000
committerDavid Robillard <d@drobilla.net>2012-08-14 21:37:20 +0000
commit76b602f1f834cb2c255848c5ba887b3d7c47171a (patch)
treecbe6588c70f2df4384231d9cbdfd06fb0aa7e45f /src/server/events/Delete.cpp
parenta8312be2d849b73ff0acc80a226095bcfee3556c (diff)
downloadingen-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.cpp18
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()) {