# QCA::Algorithm Class Reference
[QCA user API]

General superclass for an algorithm. More...

`#include <QtCrypto>`

Inheritance diagram for QCA::Algorithm:

Collaboration diagram for QCA::Algorithm:

[legend]

List of all members.

## Public Member Functions

| Algorithm (const Algorithm &from)
void | change (const QString &type, const QString &provider)
void | change (Provider::Context *c)
const Provider::Context * | context () const
Provider::Context * | context ()
Algorithm & | operator= (const Algorithm &from)
Provider * | provider () const
Provider::Context * | takeContext ()
QString | type () const

## Protected Member Functions

| Algorithm (const QString &type, const QString &provider)
| Algorithm ()

## Detailed Description

General superclass for an algorithm.

This is a fairly abstract class, mainly used for implementing the backend "provider" interface.

## Constructor & Destructor Documentation

QCA::Algorithm::Algorithm | ( | const Algorithm & | from | ) |

Standard copy constructor.

Parameters:

  | from | the Algorithm to copy from

QCA::Algorithm::Algorithm | ( |  | ) | `[protected]`

Constructor for empty algorithm.

QCA::Algorithm::Algorithm | ( | const QString & | type,
|  | const QString & | provider |
| ) |  |  | `[protected]`

Constructor of a particular algorithm.

Parameters:

  | type | the algorithm to construct
  | provider | the name of a particular Provider

## Member Function Documentation

void QCA::Algorithm::change | ( | const QString & | type,
|  | const QString & | provider |
| ) |  |  |

For internal use only.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:

  | type | the name of the algorithm to use
  | provider | the name of the preferred provider

void QCA::Algorithm::change | ( | Provider::Context * | c | ) |

For internal use only.

Set the Provider for this algorithm

Parameters:

  | c | the context for the Provider to use

const Provider::Context* QCA::Algorithm::context | ( |  | ) | const

For internal use only.

The context associated with this algorithm

Provider::Context* QCA::Algorithm::context | ( |  | ) |

For internal use only.

The context associated with this algorithm

Algorithm& QCA::Algorithm::operator= | ( | const Algorithm & | from | ) |

Assignment operator.

Parameters:

  | from | the Algorithm to copy state from

Provider* QCA::Algorithm::provider | ( |  | ) | const

The name of the provider.

Each algorithm is implemented by a provider. This allows you to figure out which provider is associated

Provider::Context* QCA::Algorithm::takeContext | ( |  | ) |

For internal use only.

Take the Provider from this algorithm

QString QCA::Algorithm::type | ( |  | ) | const

The name of the algorithm type.

Reimplemented in QCA::Hash, QCA::Cipher, QCA::MessageAuthenticationCode, QCA::KeyStoreEntry, QCA::KeyStore, QCA::PKey, and QCA::SecureMessage.

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

- qca_core.h