QCA::Provider

Search for usage in LXR

#include <QtCrypto>

Inherits Context public QObject.

Inherited by ClientSideProvider.

Public Member Functions

virtual Contextclone () const =0
 
virtual void configChanged (const QVariantMap &config)
 
virtual ContextcreateContext (const QString &type)=0
 
virtual QString credit () const
 
virtual QVariantMap defaultConfig () const
 
virtual void deinit ()
 
virtual QStringList features () const =0
 
virtual void init ()
 
virtual QString name () const =0
 
Providerprovider () const
 
virtual int qcaVersion () const =0
 
bool sameProvider (const Context *c) const
 
QString type () const
 
virtual int version () const
 

Protected Member Functions

 Context (const Context &from)
 
 Context (Provider *parent, const QString &type)
 

Detailed Description

Algorithm provider.

Provider represents a plugin provider (or as a special case, the built-in provider). This is the class you need to inherit from to create your own plugin. You don't normally need to worry about this class if you are just using existing QCA capabilities and plugins, however there is nothing stopping you from using it to obtain information about specific plugins, as shown in the example below.

Examples
aes-cmac.cpp, and providertest.cpp.

Definition at line 764 of file qca_core.h.

Member Function Documentation

◆ clone()

virtual Context * QCA::Provider::clone ( ) const
pure virtual

Create a duplicate of this Context.

◆ configChanged()

virtual void QCA::Provider::configChanged ( const QVariantMap & config)
virtual

Method to set the configuration options.

If your provider supports configuration options, you will be advised of user changes to the configuration when this method is called.

Parameters
configthe new configuration to be used by the provider

◆ Context() [1/2]

QCA::Provider::Context ( const Context & from)
protected

Copy constructor.

Parameters
fromthe Context to copy from

◆ Context() [2/2]

QCA::Provider::Context ( Provider * parent,
const QString & type )
protected

Standard constructor.

Parameters
parentthe parent provider for this context
typethe name of the provider context type

◆ createContext()

virtual Context * QCA::Provider::createContext ( const QString & type)
pure virtual
   Routine to create a plugin context

   You need to return a pointer to an algorithm
   Context that corresponds with the algorithm
   name specified.

   \param type the name of the algorithm required

   \code

Context *createContext(const QString &type) { if ( type == "sha1" ) return new SHA1Context( this ); else if ( type == "sha256" ) return new SHA0256Context( this ); else if ( type == "hmac(sha1)" ) return new HMACSHA1Context( this ); else return 0; }

Naturally you also need to implement the specified Context subclasses as well.

◆ credit()

virtual QString QCA::Provider::credit ( ) const
virtual

Optional credit text for the provider.

You might display this information in a credits or "About" dialog. Returns an empty string if the provider has no credit text. Only report credit text when absolutely required (for example, an "advertisement clause" related to licensing). Do not use it for reporting general author information.

◆ defaultConfig()

virtual QVariantMap QCA::Provider::defaultConfig ( ) const
virtual
   Method to set up the default configuration options.

   If your provider needs some configuration options,
   this method allows you to establish default options.
   The user can then change the configuration options
   as required, and set them using configChanged().

   You need to return a QVariantMap that has configuration
   options as the keys, and the default configuration
   as the values, as shown below:
   \code

QVariantMap defaultConfig() const { QVariantMap myConfig; myConfig[ "firstOption" ] = QString("firstOptionValue"); myConfig[ "secondOption" ] = true; myConfig[ "thirdOpt" ] = 1243; return myConfig; }

See also
configChanged for how to set the configuration;

◆ deinit()

virtual void QCA::Provider::deinit ( )
virtual

Deinitialisation routine.

This routine will be called just before provider destruction. Notably, during QCA shutdown, deinit() will be called on all providers before any of the providers are destructed. Use this opportunity to free any resources that may be used by other providers.

◆ features()

virtual QStringList QCA::Provider::features ( ) const
pure virtual
   The capabilities (algorithms) of the provider.

   Typically you just return a fixed QStringList:
   \code

QStringList features() const { QStringList list; list += "sha1"; list += "sha256"; list += "hmac(sha1)"; return list; }

◆ init()

virtual void QCA::Provider::init ( )
virtual

Initialisation routine.

This routine will be called when your plugin is loaded, so this is a good place to do any one-off initialisation tasks. If you don't need any initialisation, just implement it as an empty routine.

◆ name()

virtual QString QCA::Provider::name ( ) const
pure virtual
   The name of the provider.

   Typically you just return a string containing a
   convenient name.

   \code

QString name() const { return "qca-myplugin"; }

Note
The name is used to tell if a provider is already loaded, so you need to make sure it is unique amongst the various plugins.

◆ provider()

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

The Provider associated with this Context.

◆ qcaVersion()

virtual int QCA::Provider::qcaVersion ( ) const
pure virtual

Target QCA version for the provider.

This is used to verify compatibility between the provider and QCA. For a provider to be used, it must supply major and minor version numbers here that are less-than or equal to the actual QCA version (the patch version number is ignored). This means an older provider may be used with a newer QCA, but a newer provider cannot be used with an older QCA.

◆ sameProvider()

bool QCA::Provider::sameProvider ( const Context * c) const

Test if two Contexts have the same Provider.

Parameters
cpointer to the Context to compare to
Returns
true if the argument and this Context have the same provider.

◆ type()

QString QCA::Provider::type ( ) const

The type of context, as passed to the constructor.

Examples
aes-cmac.cpp.

◆ version()

virtual int QCA::Provider::version ( ) const
virtual

Version number of the plugin.

The format is the same as QCA itself. Version 1.2.3 would be represented as 0x010203.

The default returns 0 (version 0.0.0).


The documentation for this class was generated from the following file:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Apr 27 2024 22:12:50 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.