~aleteoryx/muditaos

5ab1ef65ddf7b1fcb8847a2a5f38e49f77eaf4f0 — Marek Niepieklo 4 years ago fd03146
[EGD-5868] Add access to backup over MTP

This change adds access to backups via MTP
after backup file has been successfuly created.
M .gitmodules => .gitmodules +0 -1
@@ 59,7 59,6 @@
[submodule "module-bsp/board/rt1051/bsp/usb"]
	path = module-bsp/board/rt1051/bsp/usb
	url = ../usb_stack.git
	branch = stable
[submodule "module-vfs/thirdparty/fatfs"]
	path = module-vfs/thirdparty/fatfs
	url = ../fatfs.git

M module-bsp/board/linux/usb_cdc/usb_cdc.cpp => module-bsp/board/linux/usb_cdc/usb_cdc.cpp +5 -0
@@ 150,6 150,11 @@ namespace bsp
        std::remove(ptsFileName);
    }

    void usbReinit(const char * /*mtpRoot*/)
    {
        LOG_INFO("usbReinit");
    }

    int usbInit(xQueueHandle receiveQueue, xQueueHandle irqQueue, USBDeviceListener *)
    {


M module-bsp/board/rt1051/bsp/usb => module-bsp/board/rt1051/bsp/usb +1 -1
@@ 1,1 1,1 @@
Subproject commit 99d53c995db6f00dcea5e3a312426481dba78ea3
Subproject commit 4381632145feb752622397d1f04b8064b1e96811

M module-bsp/bsp/usb/usb.hpp => module-bsp/bsp/usb/usb.hpp +2 -0
@@ 44,4 44,6 @@ namespace bsp
    int usbCDCSend(std::string *sendMsg);
    int usbCDCSendRaw(const char *dataPtr, size_t dataLen);
    void usbDeinit();
    void usbReinit(const char *mtpRoot);

} // namespace bsp

M module-services/service-desktop/ServiceDesktop.cpp => module-services/service-desktop/ServiceDesktop.cpp +1 -0
@@ 114,6 114,7 @@ sys::ReturnCodes ServiceDesktop::InitHandler()
            backupStatus.state = BackupRestore::BackupUserFiles(this, backupStatus.backupTempDir);
            backupStatus.location =
                (purefs::dir::getBackupOSPath() / backupStatus.task).replace_extension(purefs::extension::tar);
            desktopWorker->reinit(backupStatus.location.parent_path());
        }
        return sys::MessageNone{};
    });

M module-services/service-desktop/WorkerDesktop.cpp => module-services/service-desktop/WorkerDesktop.cpp +10 -0
@@ 50,6 50,16 @@ bool WorkerDesktop::deinit(void)
    return true;
}

bool WorkerDesktop::reinit(const std::filesystem::path &path)
{
    LOG_DEBUG("Reinit USB begin");

    bsp::usbReinit(path.c_str());

    LOG_DEBUG("Reinit USB end");
    return true;
}

bool WorkerDesktop::handleMessage(uint32_t queueID)
{
    auto &queue       = queues[queueID];

M module-services/service-desktop/service-desktop/WorkerDesktop.hpp => module-services/service-desktop/service-desktop/WorkerDesktop.hpp +2 -0
@@ 30,6 30,8 @@ class WorkerDesktop : public sys::Worker, public bsp::USBDeviceListener

    virtual bool init(std::list<sys::WorkerQueueInfo> queues) override;
    virtual bool deinit() override;
    bool reinit(const std::filesystem::path &path);

    bool handleMessage(uint32_t queueID) override final;

    xQueueHandle getReceiveQueue()