Index: sources/device/DeviceGlobals.h =================================================================== diff -u -r574c7c5fb48b1fcb72337f5fb4c0119a20288815 -rdb52d097addadd2eef6102340778be143ee81df4 --- sources/device/DeviceGlobals.h (.../DeviceGlobals.h) (revision 574c7c5fb48b1fcb72337f5fb4c0119a20288815) +++ sources/device/DeviceGlobals.h (.../DeviceGlobals.h) (revision db52d097addadd2eef6102340778be143ee81df4) @@ -104,23 +104,31 @@ */ \ void process##vATTRIBUTEFLC##Response(int vExitCode, QProcess::ExitStatus vStatus, \ QProcess::ProcessChannel vChannel ); \ - void process##vATTRIBUTEFLC##ReadyOut(); \ - void process##vATTRIBUTEFLC##ReadyErr(); \ + void process##vATTRIBUTEFLC##ReadyOut( M##Device##vATTRIBUTEFLC##Response &); \ + void process##vATTRIBUTEFLC##ReadyErr( M##Device##vATTRIBUTEFLC##Response &); \ + void process##vATTRIBUTEFLC##Complete( M##Device##vATTRIBUTEFLC##Response &, \ + int vExitCode, QProcess::ExitStatus vStatus); \ #define DEVICE_DEV_DECLARATION( vATTRIBUTEFLC ) \ - void DeviceController::process##vATTRIBUTEFLC##ReadyOut() { \ - M##Device##vATTRIBUTEFLC##Response model; \ - model._data.mAccepted = false; \ - model._data.mMessage = _process##vATTRIBUTEFLC.readAllStandardOutput(); \ - emit didAttributeResponse(model.data()); \ + void DeviceController::process##vATTRIBUTEFLC##ReadyOut(M##Device##vATTRIBUTEFLC##Response &vModel) { \ + vModel._data.mCompleted = false; \ + vModel._data.mAccepted = false; \ + vModel._data.mMessage = _process##vATTRIBUTEFLC.readAllStandardOutput(); \ } \ - void DeviceController::process##vATTRIBUTEFLC##ReadyErr() { \ - M##Device##vATTRIBUTEFLC##Response model; \ - model._data.mAccepted = false; \ - model._data.mMessage = QString("Err:") + _process##vATTRIBUTEFLC.readAllStandardError(); \ - emit didAttributeResponse(model.data()); \ - } + void DeviceController::process##vATTRIBUTEFLC##ReadyErr(M##Device##vATTRIBUTEFLC##Response &vModel) { \ + vModel._data.mCompleted = false; \ + vModel._data.mAccepted = false; \ + vModel._data.mMessage = "Err:" +_process##vATTRIBUTEFLC.readAllStandardError(); \ + } \ + void DeviceController::process##vATTRIBUTEFLC##Complete(M##Device##vATTRIBUTEFLC##Response &vModel, \ + int vExitCode, QProcess::ExitStatus vStatus) { \ + vModel._data.mCompleted = true; \ + vModel._data.mAccepted = false; \ + if (vStatus) vExitCode = Device::DeviceError::eDevice_Scripts_Error_Status; /* CrashExit */ \ + vModel.fromByteArray( vModel._data.mMessage.toLatin1(), &vExitCode ); \ + } \ + #define DEVICE_DEV_INIT_CONNECTIONS( vATTRIBUTEFLC ) \ /* App -> Dev //TODO: Add the error LOG connection */ \ connect(&_ApplicationController , SIGNAL(didAttributeRequest(const Device##vATTRIBUTEFLC##RequestData &)), \