Components/IFS/src/include/IFS/FWFS/ArchiveStream.h
Go to the documentation of this file.
131 ArchiveStream(FileSystem* fileSystem, VolumeInfo volumeInfo, String rootPath = nullptr, Flags flags = 0)
Passed to callbacks to allow modification of output data.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:79
FileSystem * getFileSystem() const
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:86
FileInfo(ArchiveStream &stream, DirInfo &dir, FileHandle handle, const Stat &stat)
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:81
const Stat & stat
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:115
int setAttribute(AttributeTag tag, const void *data, size_t size)
Set an additional attribute on the file.
int setAttribute(AttributeTag tag, const String &data)
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:101
const FileHandle handle
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:114
int setUserAttribute(uint8_t tagValue, ParamTypes... params)
Set an additional user attribute.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:109
Supports direct streaming into FWFS archive format.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:51
void onCreateEncoder(CreateEncoderCallback callback)
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:171
~ArchiveStream()
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:136
virtual IBlockEncoder * createEncoder(FileInfo &file)
Override this method to implement custom encoding such as compression or encryption.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:166
int seekFrom(int offset, SeekOrigin origin) override
Change position in stream.
MimeType getMimeType() const override
Get MIME type for stream content.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:193
Delegate< bool(const Stat &stat)> FilterStatCallback
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:122
Delegate< IBlockEncoder *(FileInfo &file)> CreateEncoderCallback
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:123
bool isFinished() override
Check if all data has been read.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:188
bool isSuccess() const
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:198
Flag
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:55
@ IncludeMountPoints
Set to include mountpoints in archive.
void onFilterStat(FilterStatCallback callback)
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:153
uint16_t readMemoryBlock(char *data, int bufSize) override
Read a block of memory.
ArchiveStream(FileSystem *fileSystem, VolumeInfo volumeInfo, String rootPath=nullptr, Flags flags=0)
Construct an archive stream.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:131
const String & getCurrentPath() const
Get the current path being processed.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:179
virtual bool filterStat(const Stat &stat)
Override this method to filter items.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:148
BitSet< uint8_t, Flag, 1 > Flags
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:59
Implementation of firmware filing system using IFS.
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:97
Virtual base class to support (file) data encryption and compression.
Definition: BlockEncoder.h:40
Definition: FsBase.h:34
const char * c_str() const
Get a constant (un-modifiable) pointer to String content.
Definition: WString.h:616
size_t length(void) const
Obtain the String length in characters, excluding NUL terminator.
Definition: WString.h:243
Definition: DirectoryTemplate.h:37
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:61
VolumeInfo & operator=(const IFileSystem::Info &fsinfo)
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:66
TimeStamp creationTime
Volume creation time, default is current system time (UTC)
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:64
String name
Volume Name.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:62
uint32_t volumeID
Unique identifier for volume.
Definition: IFileSystem.h:128