QCA::Filter
#include <QtCrypto>
Public Member Functions | |
virtual void | clear ()=0 |
virtual MemoryRegion | final ()=0 |
virtual bool | ok () const =0 |
MemoryRegion | process (const MemoryRegion &a) |
virtual MemoryRegion | update (const MemoryRegion &a)=0 |
Detailed Description
General superclass for filtering transformation algorithms.
A filtering computation is characterised by having the algorithm take input data in an incremental way, with results delivered for each input, or block of input. Some internal state may be managed, with the transformation completed when final() is called.
If this seems a big vague, then you might try deriving your class from a subclass with stronger semantics, or if your update() function is always returning null results, and everything comes out at final(), try BufferedComputation.
Definition at line 1107 of file qca_core.h.
Member Function Documentation
◆ clear()
|
pure virtual |
Reset the internal state.
Implemented in QCA::Base64, QCA::Cipher, and QCA::Hex.
◆ final()
|
pure virtual |
Complete the algorithm, returning any additional results.
Implemented in QCA::Base64, QCA::Cipher, and QCA::Hex.
◆ ok()
|
pure virtual |
Test if an update() or final() call succeeded.
- Returns
- true if the previous call succeeded
Implemented in QCA::Base64, QCA::Cipher, and QCA::Hex.
◆ process()
MemoryRegion QCA::Filter::process | ( | const MemoryRegion & | a | ) |
Perform an "all in one" update, returning the result.
This is appropriate if you have all the data in one array - just call process on that array, and you will get back the results of the computation.
- Note
- This will invalidate any previous computation using this object.
- Parameters
-
a the data to process in this step
- Examples
- aes-cmac.cpp, and ciphertest.cpp.
◆ update()
|
pure virtual |
Process more data, returning the corresponding filtered version of the data.
- Parameters
-
a the array containing data to process
Implemented in QCA::Base64, QCA::Cipher, and QCA::Hex.
The documentation for this class was generated from the following file:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 29 2024 11:48:56 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.