QCA::Filter Class Referenceabstract
QCA user API

`#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.

## Member Function Documentation

## clear()

virtual void QCA::Filter::clear | ( |  | ) |

pure virtual

Reset the internal state.

Implemented in QCA::Base64, QCA::Cipher, and QCA::Hex.

## update()

virtual MemoryRegion QCA::Filter::update | ( | const MemoryRegion & | a | ) |

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.

## final()

virtual MemoryRegion QCA::Filter::final | ( |  | ) |

pure virtual

Complete the algorithm, returning any additional results.

Implemented in QCA::Base64, QCA::Cipher, and QCA::Hex.

## ok()

virtual bool QCA::Filter::ok | ( |  | ) | const

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.

The documentation for this class was generated from the following file:

- qca_core.h