QtDataSync
4.2.0
A simple offline-first synchronisation framework, to synchronize data of Qt applications between devices
|
An interface for a generic keystore to securely store secret cryptographic keys. More...
#include <keystore.h>
Public Member Functions | |
KeyStore (const Defaults &defaults, QObject *parent=nullptr) | |
Default constructor for a specific setup. | |
QString | setupName () const |
Returns the name of the setup this class operates on. More... | |
virtual QString | providerName () const =0 |
Returns the provider type the keystore is of. More... | |
virtual bool | isOpen () const =0 |
Checks if the store is currently open. More... | |
virtual void | openStore ()=0 |
Opens the store so the library can access it. More... | |
virtual void | closeStore ()=0 |
Closes the connection to the store. More... | |
virtual bool | contains (const QString &key) const =0 |
Checks if a key already exists in the store. More... | |
virtual void | save (const QString &key, const QByteArray &pKey)=0 |
Saves a secret key with the given identifier in the store. More... | |
virtual QByteArray | load (const QString &key)=0 |
Loads a previously saved key for the given identifier from the store. More... | |
virtual void | remove (const QString &key)=0 |
Removes the key for the given identifier from the store permanently. More... | |
![]() | |
virtual const QMetaObject * | metaObject () const const |
virtual void * | qt_metacast (const char *) |
virtual int | qt_metacall (QMetaObject::Call, int, void **) |
QObject (QObject *parent) | |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
QString | objectName () const const |
void | setObjectName (const QString &name) |
bool | isWidgetType () const const |
bool | isWindowType () const const |
bool | signalsBlocked () const const |
bool | blockSignals (bool block) |
QThread * | thread () const const |
void | moveToThread (QThread *targetThread) |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
void | killTimer (int id) |
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
const QObjectList & | children () const const |
void | setParent (QObject *parent) |
void | installEventFilter (QObject *filterObj) |
void | removeEventFilter (QObject *obj) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
void | dumpObjectTree () |
void | dumpObjectInfo () |
void | dumpObjectTree () const const |
void | dumpObjectInfo () const const |
bool | setProperty (const char *name, const QVariant &value) |
QVariant | property (const char *name) const const |
QList< QByteArray > | dynamicPropertyNames () const const |
void | destroyed (QObject *obj) |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
bool | inherits (const char *className) const const |
void | deleteLater () |
Protected Member Functions | |
Defaults | defaults () const |
Returns the defaults of the datasync instance the store is operated from. | |
![]() | |
QObject * | sender () const const |
int | senderSignalIndex () const const |
int | receivers (const char *signal) const const |
bool | isSignalConnected (const QMetaMethod &signal) const const |
virtual void | timerEvent (QTimerEvent *event) |
virtual void | childEvent (QChildEvent *event) |
virtual void | customEvent (QEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
Additional Inherited Members | |
![]() | |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
![]() | |
objectName | |
An interface for a generic keystore to securely store secret cryptographic keys.
The datasync library makes use of keystores to securely store secret encryption keys. Since there are many different stores on all platforms, the stores are provided via plugins. If you want to create your own store, you can create a custom KeyStorePlugin and implement this class to give the library access to the keystore.
The following keystores are already support via a plugin that is part of the Library:
Definition at line 37 of file keystore.h.
|
pure virtual |
Closes the connection to the store.
KeyStoreException | If the store could not be successfully closed |
If this method returns without an exception, the store must be closed and isOpen() must return false
. If anything goes wrong that prevents the store from beeing closed, throw an exception. If the store is not open to begin with, simply return without doing anything.
|
pure virtual |
Checks if a key already exists in the store.
key | The identifier of the key that is checked for existance |
true
if a key with that id exists in the store, false
if not KeyStoreException | If the store is not open, or something went wrong checking the existance |
|
pure virtual |
Checks if the store is currently open.
true
if the store is open, false
if not KeyStoreException | In case an internal error occured |
A store should be closed after it's creation. If an error occures while checking you can throw an exception, but you should prefer to simply return false
instead.
|
pure virtual |
Loads a previously saved key for the given identifier from the store.
key | The identifier of the key to be loaded |
KeyStoreException | If the store is not open, or the store failed to load the key |
If the key does not exist, simply throw an exception as well. Whatever is returned from this method is assumed to be a valid key.
|
pure virtual |
Opens the store so the library can access it.
KeyStoreException | If the store could not be successfully opened |
If this method returns without an exception, the store must be open and isOpen() must return true
. If anything goes wrong that prevents the store from beeing opened, throw an exception. If the store is already open, simply return without doing anything.
|
pure virtual |
Returns the provider type the keystore is of.
|
pure virtual |
Removes the key for the given identifier from the store permanently.
key | The identifier of the key to be removed |
KeyStoreException | If the store is not open, or the store failed to remove the key |
If this method returns without an exception, it is assumed that the key was successfully removed from the store. If it did not exist to begin with, simply return without doing anything.
|
pure virtual |
Saves a secret key with the given identifier in the store.
key | The identifier of the key that is beeing stored |
pKey | The secrect cryptographic key to be stored |
KeyStoreException | If the store is not open, or the store failed to save the key |
If a key with the same name already exists, it should simply be overwritten. If this method returns without an exception, it is assumed that the key was successfully stored and contains() must return true
now. Also, load with the same key should work.
QtDataSync::KeyStore::setupName | ( | ) | const |
Returns the name of the setup this class operates on.