# QCA::MessageContext Class Reference
[QCA provider API]

SecureMessage provider. More...

`#include <QtCrypto>`

Inheritance diagram for QCA::MessageContext:

Collaboration diagram for QCA::MessageContext:

[legend]

List of all members.

## Public Types

enum | Operation { Encrypt, Decrypt, Sign, Verify, SignAndEncrypt }

## Signals

void | updated ()

## Public Member Functions

virtual bool | canSignMultiple () const =0
virtual QString | diagnosticText () const
virtual void | end ()=0
virtual SecureMessage::Error | errorCode () const =0
virtual bool | finished () const =0
virtual QString | hashName () const =0
| MessageContext (Provider *p, const QString &type)
virtual QByteArray | read ()=0
virtual void | reset ()=0
virtual void | setupEncrypt (const SecureMessageKeyList &keys)=0
virtual void | setupSign (const SecureMessageKeyList &keys, SecureMessage::SignMode m, bool bundleSigner, bool smime)=0
virtual void | setupVerify (const QByteArray &detachedSig)=0
virtual QByteArray | signature () const =0
virtual SecureMessageSignatureList | signers () const =0
virtual void | start (SecureMessage::Format f, Operation op)=0
virtual bool | success () const =0
virtual SecureMessage::Type | type () const =0
virtual void | update (const QByteArray &in)=0
virtual bool | waitForFinished (int msecs)=0
virtual int | written ()=0

## Detailed Description

SecureMessage provider.

Note:
  This class is part of the provider plugin interface and should not be used directly by applications. You probably want SecureMessage instead.

## Member Enumeration Documentation

enum QCA::MessageContext::Operation

The type of operation being performed.

Enumerator:

  Encrypt | Encrypt operation.
  Decrypt | Decrypt (or Decrypt and Verify) operation.
  Sign | Sign operation.
  Verify | Verify operation.
  SignAndEncrypt | Sign and Encrypt operation.

## Constructor & Destructor Documentation

QCA::MessageContext::MessageContext | ( | Provider * | p,
|  | const QString & | type |
| ) |  |  | `[inline]`

Standard constructor.

Parameters:

  | p | the Provider associated with this context
  | type | the name of the type of secure message to be created

## Member Function Documentation

virtual bool QCA::MessageContext::canSignMultiple | ( |  | ) | const`[pure virtual]`

Returns true if the provider supports multiple signers for signature creation or signature verification.

virtual QString QCA::MessageContext::diagnosticText | ( |  | ) | const`[virtual]`

Returns any diagnostic text for the operation, potentially useful to show the user in the event the operation is unsuccessful.

For example, this could be the stderr output of gpg.

This is only valid if the operation has finished.

virtual void QCA::MessageContext::end | ( |  | ) | `[pure virtual]`

Indicates the end of input.

virtual SecureMessage::Error QCA::MessageContext::errorCode | ( |  | ) | const`[pure virtual]`

Returns the reason for failure, if the operation was not successful.

This is only valid if the operation has finished.

virtual bool QCA::MessageContext::finished | ( |  | ) | const`[pure virtual]`

Returns true if the operation has finished, otherwise false.

virtual QString QCA::MessageContext::hashName | ( |  | ) | const`[pure virtual]`

Returns the name of the hash used to generate the signature, in the case of a signature operation.

This is only valid if the operation has finished.

virtual QByteArray QCA::MessageContext::read | ( |  | ) | `[pure virtual]`

Extract output from the message operation.

virtual void QCA::MessageContext::reset | ( |  | ) | `[pure virtual]`

Reset the object to its initial state.

virtual void QCA::MessageContext::setupEncrypt | ( | const SecureMessageKeyList & | keys | ) | `[pure virtual]`

Configure a new encrypting operation.

Parameters:

  | keys | the keys to be used for encryption.

virtual void QCA::MessageContext::setupSign | ( | const SecureMessageKeyList & | keys,
|  | SecureMessage::SignMode | m,
|  | bool | bundleSigner,
|  | bool | smime |
| ) |  |  | `[pure virtual]`

Configure a new signing operation.

Parameters:

  | keys | the keys to use for signing
  | m | the mode to sign in
  | bundleSigner | whether to bundle the signing keys (true) or not (false)
  | smime | whether to use smime format (true) or not (false)

virtual void QCA::MessageContext::setupVerify | ( | const QByteArray & | detachedSig | ) | `[pure virtual]`

Configure a new verify operation.

Parameters:

  | detachedSig | the detached signature to use (if applicable) for verification

virtual QByteArray QCA::MessageContext::signature | ( |  | ) | const`[pure virtual]`

Returns the signature, in the case of a detached signature operation.

This is only valid if the operation has finished.

virtual SecureMessageSignatureList QCA::MessageContext::signers | ( |  | ) | const`[pure virtual]`

Returns a list of signatures, in the case of a verify or decrypt and verify operation.

This is only valid if the operation has finished.

virtual void QCA::MessageContext::start | ( | SecureMessage::Format | f,
|  | Operation | op |
| ) |  |  | `[pure virtual]`

Begins the secure message operation.

This function returns immediately.

If there is input data, update() will be called (potentially repeatedly) afterwards. Emit updated() if there is data to read, if input data has been accepted, or if the operation has finished.

Parameters:

  | f | the format of the message to be produced
  | op | the operation to be performed

virtual bool QCA::MessageContext::success | ( |  | ) | const`[pure virtual]`

Returns true if the operation was successful.

This is only valid if the operation has finished.

virtual SecureMessage::Type QCA::MessageContext::type | ( |  | ) | const`[pure virtual]`

The type of secure message (e.g.

PGP or CMS)

virtual void QCA::MessageContext::update | ( | const QByteArray & | in | ) | `[pure virtual]`

Provide input to the message operation.

Parameters:

  | in | the data to use for the message operation

void QCA::MessageContext::updated | ( |  | ) | `[signal]`

Emitted when there is data to read, if input data has been accepted, or if the operation has finished.

virtual bool QCA::MessageContext::waitForFinished | ( | int | msecs | ) | `[pure virtual]`

Waits for the secure message operation to complete.

In this case, the updated() signal is not emitted. Returns true if the operation completed or false if this function times out.

This function is blocking.

Parameters:

  | msecs | number of milliseconds to wait (-1 to wait forever)

virtual int QCA::MessageContext::written | ( |  | ) | `[pure virtual]`

Returns the number of input bytes accepted since the last call to update().

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

- qcaprovider.h