2022-01-06 18:05:21 +01:00
|
|
|
#include "FilesystemHelper.h"
|
2022-03-27 13:07:18 +02:00
|
|
|
|
|
|
|
#include <filesystem>
|
|
|
|
#include <fstream>
|
|
|
|
|
2022-01-06 18:05:21 +01:00
|
|
|
#include "bsp_q7s/memory/SdCardManager.h"
|
2022-03-23 11:13:59 +01:00
|
|
|
#include "fsfw/serviceinterface/ServiceInterfaceStream.h"
|
2022-01-06 18:05:21 +01:00
|
|
|
|
2022-03-27 13:07:18 +02:00
|
|
|
FilesystemHelper::FilesystemHelper() {}
|
2022-01-06 18:05:21 +01:00
|
|
|
|
2022-03-27 13:07:18 +02:00
|
|
|
FilesystemHelper::~FilesystemHelper() {}
|
2022-01-06 18:05:21 +01:00
|
|
|
|
|
|
|
ReturnValue_t FilesystemHelper::checkPath(std::string path) {
|
2022-03-27 13:07:18 +02:00
|
|
|
SdCardManager* sdcMan = SdCardManager::instance();
|
|
|
|
if (sdcMan == nullptr) {
|
|
|
|
sif::warning << "FilesystemHelper::checkPath: Invalid SD card manager" << std::endl;
|
|
|
|
return RETURN_FAILED;
|
|
|
|
}
|
|
|
|
if (path.substr(0, sizeof(SdCardManager::SD_0_MOUNT_POINT)) ==
|
|
|
|
std::string(SdCardManager::SD_0_MOUNT_POINT)) {
|
|
|
|
if (!sdcMan->isSdCardMounted(sd::SLOT_0)) {
|
|
|
|
sif::warning << "FilesystemHelper::checkPath: SD card 0 not mounted" << std::endl;
|
|
|
|
return SD_NOT_MOUNTED;
|
2022-01-06 18:05:21 +01:00
|
|
|
}
|
2022-03-27 13:07:18 +02:00
|
|
|
} else if (path.substr(0, sizeof(SdCardManager::SD_1_MOUNT_POINT)) ==
|
|
|
|
std::string(SdCardManager::SD_1_MOUNT_POINT)) {
|
|
|
|
if (!sdcMan->isSdCardMounted(sd::SLOT_0)) {
|
|
|
|
sif::warning << "FilesystemHelper::checkPath: SD card 1 not mounted" << std::endl;
|
|
|
|
return SD_NOT_MOUNTED;
|
2022-01-06 18:05:21 +01:00
|
|
|
}
|
2022-03-27 13:07:18 +02:00
|
|
|
}
|
|
|
|
return RETURN_OK;
|
2022-01-06 18:05:21 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
ReturnValue_t FilesystemHelper::fileExists(std::string file) {
|
2022-03-27 13:07:18 +02:00
|
|
|
if (not std::filesystem::exists(file)) {
|
|
|
|
return FILE_NOT_EXISTS;
|
|
|
|
}
|
|
|
|
return RETURN_OK;
|
2022-01-06 18:05:21 +01:00
|
|
|
}
|