diff options
author | David Robillard <d@drobilla.net> | 2012-05-22 03:30:42 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-05-22 03:30:42 +0000 |
commit | b1d4027b58465d9cc31d6cb1be05a7ff4f202711 (patch) | |
tree | b1b7e9d1379fc16c5f451fda7afff0d2bc071e18 /src/server/events/Move.cpp | |
parent | e3b0886bfbd12f65450d4b302371f07f511458c3 (diff) | |
download | ingen-b1d4027b58465d9cc31d6cb1be05a7ff4f202711.tar.gz ingen-b1d4027b58465d9cc31d6cb1be05a7ff4f202711.tar.bz2 ingen-b1d4027b58465d9cc31d6cb1be05a7ff4f202711.zip |
More work on test suite.
Clean up, simplify, and shrink event code.
Support disconnect_all via Atom protocol.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4432 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/events/Move.cpp')
-rw-r--r-- | src/server/events/Move.cpp | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/src/server/events/Move.cpp b/src/server/events/Move.cpp index 3874fcf1..84deba05 100644 --- a/src/server/events/Move.cpp +++ b/src/server/events/Move.cpp @@ -49,27 +49,22 @@ Move::~Move() { } -void +bool Move::pre_process() { Glib::RWLock::WriterLock lock(_engine.engine_store()->lock()); if (!_old_path.parent().is_parent_of(_new_path)) { - _status = PARENT_DIFFERS; - Event::pre_process(); - return; + return Event::pre_process_done(PARENT_DIFFERS); } + _store_iterator = _engine.engine_store()->find(_old_path); - if (_store_iterator == _engine.engine_store()->end()) { - _status = NOT_FOUND; - Event::pre_process(); - return; + if (_store_iterator == _engine.engine_store()->end()) { + return Event::pre_process_done(NOT_FOUND); } - if (_engine.engine_store()->find_object(_new_path)) { - _status = EXISTS; - Event::pre_process(); - return; + if (_engine.engine_store()->find_object(_new_path)) { + return Event::pre_process_done(EXISTS); } SharedPtr< Raul::Table< Raul::Path, SharedPtr<GraphObject> > > removed @@ -93,14 +88,12 @@ Move::pre_process() _engine.engine_store()->add(*removed.get()); - Event::pre_process(); + return Event::pre_process_done(SUCCESS); } void Move::execute(ProcessContext& context) { - Event::execute(context); - SharedPtr<PortImpl> port = PtrCast<PortImpl>(_store_iterator->second); if (port && port->parent()->parent() == NULL) { EnginePort* eport = _engine.driver()->engine_port(context, _new_path); |