Components/IFS/src/include/IFS/FWFS/ArchiveStream.h
Go to the documentation of this file.
132 ArchiveStream(FileSystem* fileSystem, const VolumeInfo& volumeInfo, const String& rootPath = nullptr,
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:173
~ArchiveStream()
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:138
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:168
ArchiveStream(FileSystem *fileSystem, const VolumeInfo &volumeInfo, const String &rootPath=nullptr, Flags flags=0)
Construct an archive stream.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:132
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:195
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:190
bool isSuccess() const
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:200
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:155
uint16_t readMemoryBlock(char *data, int bufSize) override
Read a block of memory.
const String & getCurrentPath() const
Get the current path being processed.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:181
virtual bool filterStat(const Stat &stat)
Override this method to filter items.
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:150
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:617
size_t length(void) const
Obtain the String length in characters, excluding NUL terminator.
Definition: WString.h:244
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