61 std::string contents = deviceConfiguration.
serialize();
63 error = rfsv.
fwrite(handle,
reinterpret_cast<const unsigned char *
>(contents.data()), contents.length(), count);
69 return rfsv.
fclose(handle);
90 uint32_t size = dirent.
getSize();
91 std::vector<unsigned char> buffer(size);
93 error = rfsv.
fread(handle, buffer.data(), size, count);
106 std::string contents(buffer.begin(), buffer.end());
108 if (!configuration) {
113 return configuration;
Class for managing and serializing device details.
static std::unique_ptr< DeviceConfiguration > deserialize(const std::string &contents)
std::string serialize() const
Wrapper class featuring range-checking and string representation of enumerated values.
A class, representing a directory entry of the Psion.
uint32_t getSize() const
Retrieves the file size of a directory entry.
Access remote file services of a Psion.
virtual std::string deviceConfigurationPath()=0
virtual Enum< errs > fwrite(const uint32_t handle, const unsigned char *const buffer, const uint32_t len, uint32_t &count)=0
Write to a file on the Psion.
virtual uint32_t opMode(const uint32_t mode)=0
Converts an open-mode (A combination of the PSI_O_ constants.) from generic representation to the mac...
virtual Enum< errs > fopen(const uint32_t attr, const char *const name, uint32_t &handle)=0
Opens a file.
virtual Enum< errs > fread(const uint32_t handle, unsigned char *const buffer, const uint32_t len, uint32_t &count)=0
Reads from a file on the Psion.
virtual Enum< errs > fgeteattr(const char *const name, PlpDirent &e)=0
Retrieves attributes, size and modification time of a file on the Psion.
virtual Enum< errs > fcreatefile(const uint32_t attr, const char *const name, uint32_t &handle)=0
Creates a named file.
virtual Enum< errs > mkdir(const char *const name)=0
Creates a directory on the Psion.
virtual Enum< errs > fclose(const uint32_t handle)=0
Close a file on the Psion whih was previously opened/created by using fopen , fcreatefile ,...
virtual Enum< errs > freplacefile(const uint32_t attr, const char *const name, uint32_t &handle)=0
Creates an named file, overwriting an existing file.
Enum< RFSV::errs > write_configuration(RFSV &rfsv, const DeviceConfiguration &deviceConfiguration)
std::unique_ptr< DeviceConfiguration > read_configuration(RFSV &rfsv, Enum< RFSV::errs > &error)
char * epoc_dirname(const char *path)
Compute parent directory of an EPOC directory.
static void error(int line)