libcryfs/CryOpenFile.cpp

60 lines
1.2 KiB
C++
Raw Normal View History

#include "CryOpenFile.h"
#include <sys/types.h>
#include <fcntl.h>
#include "CryDevice.h"
2015-02-17 01:02:15 +01:00
#include "messmer/fspp/fuse/FuseErrnoException.h"
#include "impl/FileBlob.h"
namespace bf = boost::filesystem;
using std::unique_ptr;
using blobstore::Blob;
//TODO Get rid of this in favor of a exception hierarchy
using fspp::fuse::CHECK_RETVAL;
2014-12-07 08:57:23 +01:00
using fspp::fuse::FuseErrnoException;
namespace cryfs {
CryOpenFile::CryOpenFile(unique_ptr<FileBlob> fileBlob)
: _fileBlob(std::move(fileBlob)) {
}
CryOpenFile::~CryOpenFile() {
2014-12-07 08:57:23 +01:00
//TODO
}
2014-11-21 01:11:24 +01:00
void CryOpenFile::flush() {
2014-12-07 08:57:23 +01:00
throw FuseErrnoException(ENOTSUP);
2014-11-21 01:11:24 +01:00
}
void CryOpenFile::stat(struct ::stat *result) const {
2014-12-07 08:57:23 +01:00
throw FuseErrnoException(ENOTSUP);
}
void CryOpenFile::truncate(off_t size) const {
2014-12-07 08:57:23 +01:00
throw FuseErrnoException(ENOTSUP);
}
int CryOpenFile::read(void *buf, size_t count, off_t offset) {
//TODO Return number of read bytes
_fileBlob->read(buf, offset, count);
return count;
}
void CryOpenFile::write(const void *buf, size_t count, off_t offset) {
_fileBlob->write(buf, offset, count);
}
void CryOpenFile::fsync() {
2014-12-07 08:57:23 +01:00
throw FuseErrnoException(ENOTSUP);
}
void CryOpenFile::fdatasync() {
2014-12-07 08:57:23 +01:00
throw FuseErrnoException(ENOTSUP);
}
2014-12-07 08:57:23 +01:00
}