libuav original

Dependents:   UAVCAN UAVCAN_Subscriber

Embed: (wiki syntax)

« Back to documentation index

IFileServerBackend Class Reference

The file server backend should implement this interface. More...

#include <file_server.hpp>

Inherited by TestFileServerBackend, and BasicFileServerBackend.

Public Types

enum  
 

All read operations must return this number of bytes, unless end of file is reached.

More...

Public Member Functions

virtual int16_t getInfo (const Path &path, uint64_t &out_size, EntryType &out_type)=0
 Backend for uavcan.protocol.file.GetInfo.
virtual int16_t read (const Path &path, const uint64_t offset, uint8_t *out_buffer, uint16_t &inout_size)=0
 Backend for uavcan.protocol.file.Read.
virtual int16_t write (const Path &path, const uint64_t offset, const uint8_t *buffer, const uint16_t size)
 Backend for uavcan.protocol.file.Write.
virtual int16_t remove (const Path &path)
 Backend for uavcan.protocol.file.Delete.
virtual int16_t getDirectoryEntryInfo (const Path &directory_path, const uint32_t entry_index, EntryType &out_type, Path &out_entry_full_path)
 Backend for uavcan.protocol.file.GetDirectoryEntryInfo.

Static Public Member Functions

static char getPathSeparator ()
 Shortcut for uavcan.protocol.file.Path.SEPARATOR.

Detailed Description

The file server backend should implement this interface.

Note that error codes returned by these methods are defined in uavcan.protocol.file.Error; these are not the same as libuavcan-internal error codes defined in uavcan.error.hpp.

Definition at line 26 of file file_server.hpp.


Member Enumeration Documentation

anonymous enum

All read operations must return this number of bytes, unless end of file is reached.

Definition at line 36 of file file_server.hpp.


Member Function Documentation

virtual int16_t getDirectoryEntryInfo ( const Path &  directory_path,
const uint32_t  entry_index,
EntryType &  out_type,
Path &  out_entry_full_path 
) [virtual]

Backend for uavcan.protocol.file.GetDirectoryEntryInfo.

Refer to uavcan.protocol.file.EntryType for the list of available bit flags. Implementation of this method is NOT required; by default it returns uavcan.protocol.file.Error.NOT_IMPLEMENTED. On success the method must return zero.

Definition at line 93 of file file_server.hpp.

virtual int16_t getInfo ( const Path &  path,
uint64_t &  out_size,
EntryType &  out_type 
) [pure virtual]

Backend for uavcan.protocol.file.GetInfo.

Refer to uavcan.protocol.file.EntryType for the list of available bit flags. Implementation of this method is required. On success the method must return zero.

Implemented in BasicFileServerBackend.

static char getPathSeparator (  ) [static]

Shortcut for uavcan.protocol.file.Path.SEPARATOR.

Definition at line 41 of file file_server.hpp.

virtual int16_t read ( const Path &  path,
const uint64_t  offset,
uint8_t *  out_buffer,
uint16_t &  inout_size 
) [pure virtual]

Backend for uavcan.protocol.file.Read.

Implementation of this method is required. inout_size is set to ReadSize; read operation is required to return exactly this amount, except if the end of file is reached. On success the method must return zero.

Implemented in BasicFileServerBackend.

virtual int16_t remove ( const Path &  path ) [virtual]

Backend for uavcan.protocol.file.Delete.

('delete' is a C++ keyword, so 'remove' is used instead) Implementation of this method is NOT required; by default it returns uavcan.protocol.file.Error.NOT_IMPLEMENTED. On success the method must return zero.

Definition at line 81 of file file_server.hpp.

virtual int16_t write ( const Path &  path,
const uint64_t  offset,
const uint8_t *  buffer,
const uint16_t  size 
) [virtual]

Backend for uavcan.protocol.file.Write.

Implementation of this method is NOT required; by default it returns uavcan.protocol.file.Error.NOT_IMPLEMENTED. On success the method must return zero.

Definition at line 67 of file file_server.hpp.