summaryrefslogtreecommitdiffstats
path: root/src/server/events/DisconnectAll.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/events/DisconnectAll.cpp')
-rw-r--r--src/server/events/DisconnectAll.cpp31
1 files changed, 7 insertions, 24 deletions
diff --git a/src/server/events/DisconnectAll.cpp b/src/server/events/DisconnectAll.cpp
index 7bd9ee96..1538c93b 100644
--- a/src/server/events/DisconnectAll.cpp
+++ b/src/server/events/DisconnectAll.cpp
@@ -94,22 +94,21 @@ DisconnectAll::pre_process()
_parent = _engine.engine_store()->find_patch(_parent_path);
if (_parent == NULL) {
- _error = PARENT_NOT_FOUND;
+ _status = PARENT_NOT_FOUND;
Event::pre_process();
return;
}
GraphObjectImpl* object = _engine.engine_store()->find_object(_path);
-
- if (object == NULL) {
- _error = OBJECT_NOT_FOUND;
+ if (!object) {
+ _status = NOT_FOUND;
Event::pre_process();
return;
}
if (object->parent_patch() != _parent
&& object->parent()->parent_patch() != _parent) {
- _error = INVALID_PARENT_PATH;
+ _status = INVALID_PARENT_PATH;
Event::pre_process();
return;
}
@@ -159,7 +158,7 @@ DisconnectAll::execute(ProcessContext& context)
{
Event::execute(context);
- if (_error == NO_ERROR) {
+ if (_status == SUCCESS) {
for (Impls::iterator i = _impls.begin(); i != _impls.end(); ++i) {
(*i)->execute(context,
!_deleting || ((*i)->dst_port()->parent_node() != _node));
@@ -173,25 +172,9 @@ DisconnectAll::execute(ProcessContext& context)
void
DisconnectAll::post_process()
{
- if (_error == NO_ERROR) {
- respond_ok();
+ respond(_status);
+ if (!_status) {
_engine.broadcaster()->disconnect_all(_parent_path, _path);
- } else {
- boost::format fmt("Unable to disconnect %1% (%2%)");
- fmt % _path;
- switch (_error) {
- case INVALID_PARENT_PATH:
- fmt % string("Invalid parent path: ").append(_parent_path.str());
- break;
- case PARENT_NOT_FOUND:
- fmt % string("Unable to find parent: ").append(_parent_path.str());
- break;
- case OBJECT_NOT_FOUND:
- fmt % string("Unable to find object");
- default:
- break;
- }
- respond_error(fmt.str());
}
}