*/
bool FilesystemBuffer::DecodeData(const std::string& data) {
+ LoggerD("Enter");
if (data.length() % 4) {
LoggerE("Buffer has invalid length");
return false;
}
std::string FilesystemBuffer::EncodeData() const {
+ LoggerD("Enter");
std::string out;
for (size_t i = 0; i < size(); i += 3) {
bool FilesystemFile::Read(FilesystemBuffer* data,
size_t offset,
size_t length) {
+ LoggerD("Enter");
if (!data) {
LoggerE("Missing output buffer");
return false;
}
bool FilesystemFile::Write(const FilesystemBuffer& data, size_t offset) {
+ LoggerD("Enter");
FILE* file = fopen(path.c_str(), "r+");
if (!file) {
LoggerE("Cannot open file %s to write!", path.c_str());
using namespace extension::filesystem;
FilesystemInstance::FilesystemInstance() {
+ LoggerD("Enter");
using std::placeholders::_1;
using std::placeholders::_2;
void FilesystemInstance::StartListening(
const picojson::value& args,
picojson::object& out) {
+ LoggerD("enter");
FilesystemManager::GetInstance().StartListening();
ReportSuccess(out);
}
void FilesystemInstance::StopListening(
const picojson::value& args,
picojson::object& out) {
+ LoggerD("enter");
FilesystemManager::GetInstance().StopListening();
ReportSuccess(out);
}
}
void FilesystemInstance::onFilesystemStateChangeErrorCallback() {
+ LoggerD("enter");
picojson::value event = picojson::value(picojson::object());
picojson::object& obj = event.get<picojson::object>();
ReportError(UnknownException(std::string("Failed to registerd listener")), obj);
void FilesystemManager::FetchStorages(
const std::function<void(const std::vector<common::VirtualStorage>&)>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
auto result = FillStorages();
success_cb(result);
}
FilesystemManager::FilesystemManager()
: listener_(nullptr), is_listener_registered_(false) {}
FilesystemManager::~FilesystemManager() {
+ LoggerD("enter");
if (is_listener_registered_) {
for (auto id : ids_) {
storage_unset_state_changed_cb(id, storage_cb);
}
FilesystemManager& FilesystemManager::GetInstance() {
+ LoggerD("enter");
static FilesystemManager instance;
return instance;
}
const std::function<void(const FilesystemStat&)>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
FilesystemStat statData = FilesystemStat::getStat(path);
if (!statData.valid) {
error_cb(statData.error);
void FilesystemManager::GetVirtualRoots(
const std::function<void(const std::vector<common::VirtualRoot>&)>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
success_cb(common::VirtualFs::GetInstance().GetVirtualRoots());
}
const std::string& path,
const std::function<void(const FilesystemStat&)>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
const mode_t create_mode = S_IRWXU | S_IRWXG | S_IRWXO;
int status;
status =
const std::function<void(const FilesystemStat&)>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
int status = rename(oldPath.c_str(), newPath.c_str());
if (0 == status) {
FilesystemStat fileStat = FilesystemStat::getStat(newPath);
const std::string& path,
const std::function<void()>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
if (unlink(path.c_str()) != 0) {
LoggerE("Error occured while deleting file");
error_cb(FilesystemError::Other);
const std::string& path,
const std::function<void()>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
const int maxDirOpened = 64;
if (nftw(path.c_str(), unlink_cb, maxDirOpened, FTW_DEPTH | FTW_PHYS) != 0) {
LoggerE("Error occured");
const std::function<void(const std::string&)>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
FilesystemFile file(path);
FilesystemBuffer buffer;
if (!file.Read(&buffer, offset, length)) {
const std::function<void()>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
FilesystemFile file(path);
FilesystemBuffer buffer;
// Decode buffer data
if (FilesystemError::None == retval) {
success_cb();
} else {
+ LoggerE("Failed: perform_deep_copy()");
error_cb(retval);
}
}