Index: sources/device/DeviceController.cpp =================================================================== diff -u -r3b402a2cfb9e673bf0bac3fcc8eeee75a0adc475 -r4ef7cb77805b64ac89966a9581cdc111520f21d1 --- sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision 3b402a2cfb9e673bf0bac3fcc8eeee75a0adc475) +++ sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision 4ef7cb77805b64ac89966a9581cdc111520f21d1) @@ -978,11 +978,19 @@ void DeviceController::onAttributeRequest(const DeviceUSBMountRequestData &vData) { Q_UNUSED(vData) - // TODO - VY ideally we don't have this function, but macros used needs it declared + requestUSBMount(vData.isUnmountRequest, vData.usbDrive); } + +/*! + * \brief DeviceController::requestUSBMount + * \details Calls the Usb unmount/mount script + * \param vIsUnmount - indicate if the request is for mounting or unmounting + * \param vUSBDrive - the path to the USB drive + */ void DeviceController::requestUSBMount(bool vIsUnmount, const QString vUSBDrive) { _deviceUSBMountRequest._data.isUnmountRequest = vIsUnmount; + _deviceUSBMountRequest._data.usbDrive = vUSBDrive; // not necessary, but to be consistent // ----- check that script exists. QString script; @@ -1021,18 +1029,23 @@ if ( vStatus ) vExitCode = Device::DeviceError::eDevice_Scripts_Error_Status; else deviceInfo = _processUSBMount.readAll(); model.fromByteArray( deviceInfo, &vExitCode ); - // DEBUG: qDebug() << model._data.mMessage << deviceInfo; didAttributeResponse(model.data()); LOG_APPED_UI(model.data().mMessage); + // Re-evaluate the USB space available - need to call this here to avoid + // visual lag caused by waiting to call this function on the timer timeout + usbSpaceCheck(); + + QString usbDrive = _deviceUSBMountRequest._data.usbDrive; if(_deviceUSBMountRequest._data.isUnmountRequest) { _mounted = false; -// LOG_DEBUG(QString("USB drive %2 unmounted").arg(_deviceUSBMountRequest._data.usbDrive)); + LOG_DEBUG(QString("USB drive %2 unmounted").arg(usbDrive)); emit didUSBDriveUmount(); } else { + if(vStatus) { usbError(usbDrive); return; } // log error and exit _mounted = true; _removed = false; -// LOG_DEBUG(QString("USB flash drive %1 has been mounted on %2").arg(_deviceUSBMountRequest._data.usbDrive).arg(_deviceUSBMountRequest._data.usbMountPoint)); + LOG_DEBUG(QString("USB flash drive %1 has been mounted on %2").arg(usbDrive).arg(USB_Mount_Point)); emit didUSBDriveMount(); } } Index: sources/device/DeviceGlobals.h =================================================================== diff -u -r3b402a2cfb9e673bf0bac3fcc8eeee75a0adc475 -r4ef7cb77805b64ac89966a9581cdc111520f21d1 --- sources/device/DeviceGlobals.h (.../DeviceGlobals.h) (revision 3b402a2cfb9e673bf0bac3fcc8eeee75a0adc475) +++ sources/device/DeviceGlobals.h (.../DeviceGlobals.h) (revision 4ef7cb77805b64ac89966a9581cdc111520f21d1) @@ -204,7 +204,6 @@ DEVICE_APP_INIT_CONNECTIONS ( RootSSHAccess ) \ DEVICE_APP_INIT_CONNECTIONS ( FactoryReset ) \ DEVICE_APP_INIT_CONNECTIONS ( Decommission ) \ - DEVICE_APP_INIT_CONNECTIONS ( USBMount ) \ #define DEVICE_APP_BRIDGE_DEFINITION_LIST \ DEVICE_APP_BRIDGE_DEFINITION( Brightness ) \ @@ -214,7 +213,6 @@ DEVICE_APP_BRIDGE_DEFINITION( RootSSHAccess ) \ DEVICE_APP_BRIDGE_DEFINITION( FactoryReset ) \ DEVICE_APP_BRIDGE_DEFINITION( Decommission ) \ - DEVICE_APP_BRIDGE_DEFINITION( USBMount ) \ /* ---------------------------- GUI */ #define DEVICE_GUI_BRIDGE_DEFINITION_LIST \ @@ -225,7 +223,6 @@ DEVICE_GUI_BRIDGE_DEFINITION( RootSSHAccess ) \ DEVICE_GUI_BRIDGE_DEFINITION( FactoryReset ) \ DEVICE_GUI_BRIDGE_DEFINITION( Decommission ) \ - DEVICE_GUI_BRIDGE_DEFINITION( USBMount ) \ #define DEVICE_GUI_INIT_CONNECTIONS_LIST \ DEVICE_GUI_INIT_CONNECTIONS ( Brightness ) \ @@ -235,7 +232,6 @@ DEVICE_GUI_INIT_CONNECTIONS ( RootSSHAccess ) \ DEVICE_GUI_INIT_CONNECTIONS ( FactoryReset ) \ DEVICE_GUI_INIT_CONNECTIONS ( Decommission ) \ - DEVICE_GUI_INIT_CONNECTIONS ( USBMount ) \ /* ---------------------------- VIEW */ #define DEVICE_VIEW_INIT_CONNECTIONS_LIST \ @@ -246,5 +242,4 @@ DEVICE_VIEW_INIT_CONNECTIONS( RootSSHAccess ) \ DEVICE_VIEW_INIT_CONNECTIONS( FactoryReset ) \ DEVICE_VIEW_INIT_CONNECTIONS( Decommission ) \ - DEVICE_VIEW_INIT_CONNECTIONS( USBMount ) \ Index: sources/device/DeviceModels.h =================================================================== diff -u -r3b402a2cfb9e673bf0bac3fcc8eeee75a0adc475 -r4ef7cb77805b64ac89966a9581cdc111520f21d1 --- sources/device/DeviceModels.h (.../DeviceModels.h) (revision 3b402a2cfb9e673bf0bac3fcc8eeee75a0adc475) +++ sources/device/DeviceModels.h (.../DeviceModels.h) (revision 4ef7cb77805b64ac89966a9581cdc111520f21d1) @@ -347,6 +347,7 @@ public: struct Data { bool isUnmountRequest = false; + QString usbDrive = ""; } _data; QString toString() { Index: sources/device/DeviceView.cpp =================================================================== diff -u -r3b402a2cfb9e673bf0bac3fcc8eeee75a0adc475 -r4ef7cb77805b64ac89966a9581cdc111520f21d1 --- sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision 3b402a2cfb9e673bf0bac3fcc8eeee75a0adc475) +++ sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision 4ef7cb77805b64ac89966a9581cdc111520f21d1) @@ -251,37 +251,3 @@ // has to be the last one response(true); } - -// ================================================= USBMount -// TODO - VY might be removed since we don't need the ATTRIBUTE to expose to QML... -void VDevice::doInitUSBMount() { - // Nothing for now. -} - -void VDevice::usbMountRequest(const QString &vCommand) { - - bool isMountCmd = vCommand == "mount"; - bool isUnmountCmd = vCommand == "unmount"; - DeviceUSBMountRequestData data; - bool ok = isMountCmd || isUnmountCmd; - if ( ! ok ) { - status(tr("Invalid USB mount request")); - } - else { - data.isUnmountRequest = isUnmountCmd; - emit didAttributeRequest(data); - } - emit didAttributeRequest(data); -} - -void VDevice::onAttributeResponse(const DeviceUSBMountResponseData &vData) { - //QDEBUG : qDebug() << "HERE Response " << Q_FUNC_INFO << " accepted: "<< vData.mAccepted << vData.mReason; - // this has to be called to let Gui to set to old value that device controller provided. - status(vData.mMessage); - - accepted(vData.mAccepted); - reason (vData.mReason ); - - // has to be the last one - response(true); -} Index: sources/device/DeviceView.h =================================================================== diff -u -r3b402a2cfb9e673bf0bac3fcc8eeee75a0adc475 -r4ef7cb77805b64ac89966a9581cdc111520f21d1 --- sources/device/DeviceView.h (.../DeviceView.h) (revision 3b402a2cfb9e673bf0bac3fcc8eeee75a0adc475) +++ sources/device/DeviceView.h (.../DeviceView.h) (revision 4ef7cb77805b64ac89966a9581cdc111520f21d1) @@ -58,9 +58,6 @@ ATTRIBUTE ( QString , decommission , "", Decommission ) PROPERTY ( bool , decommissionEnabled , true ) - //TODO remove- We don't really need this - VY - but removing needs more code changes to avoid compile error - ATTRIBUTE ( QString , usbMount , "", USBMount ) - VIEW_DEC_CLASS(VDevice) private: