The license token is used to check permission of software usage, and maintains the list in table t_licensetokens.
More...
|
| BpsLicenseToken (BpsDatastore *aDatastore, const QString &aLicenser, const QString &aLicenseGroup, const QString &aProgram, const QVariant &aInfo, QObject *aParent=nullptr) |
| Create a new license token. More...
|
|
virtual int | checkLicense (QDate *aExpires=nullptr) |
| This method can be overloaded to implement a check for license validity. More...
|
|
void | clear () |
| Clears the token and releases the license for re-use.
|
|
BpsDatastore * | datastore () const |
|
QVariant | info () const |
|
bool | isValid () const |
|
QString | licenseGroup () const |
|
QString | licenser () const |
|
QString | program () const |
|
void | update () |
| Makes sure the token is still present and unmodified in table t_licensetokens, and updates the timestamp. More...
|
|
QDate | validate () |
| Checks the license token. More...
|
|
virtual | ~BpsLicenseToken () |
| The destructor clears the token and releases the license for re-use.
|
|
bool | blockSignals (bool block) |
|
const QObjectList & | children () const const |
|
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
|
void | deleteLater () |
|
void | destroyed (QObject *obj) |
|
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
|
bool | disconnect (const QObject *receiver, const char *method) const const |
|
void | dumpObjectInfo () |
|
void | dumpObjectInfo () const const |
|
void | dumpObjectTree () |
|
void | dumpObjectTree () const const |
|
QList< QByteArray > | dynamicPropertyNames () const const |
|
virtual bool | event (QEvent *e) |
|
virtual bool | eventFilter (QObject *watched, QEvent *event) |
|
T | findChild (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 |
|
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
|
bool | inherits (const char *className) const const |
|
void | installEventFilter (QObject *filterObj) |
|
bool | isWidgetType () const const |
|
bool | isWindowType () const const |
|
void | killTimer (int id) |
|
virtual const QMetaObject * | metaObject () const const |
|
void | moveToThread (QThread *targetThread) |
|
QString | objectName () const const |
|
void | objectNameChanged (const QString &objectName) |
|
QObject * | parent () const const |
|
QVariant | property (const char *name) const const |
|
| Q_CLASSINFO (Name, Value) |
|
| Q_DISABLE_COPY (Class) |
|
| Q_DISABLE_COPY_MOVE (Class) |
|
| Q_DISABLE_MOVE (Class) |
|
| Q_EMIT Q_EMIT |
|
| Q_ENUM (...) |
|
| Q_ENUM_NS (...) |
|
| Q_ENUMS (...) |
|
| Q_FLAG (...) |
|
| Q_FLAG_NS (...) |
|
| Q_FLAGS (...) |
|
| Q_GADGET Q_GADGET |
|
| Q_INTERFACES (...) |
|
| Q_INVOKABLE Q_INVOKABLE |
|
| Q_NAMESPACE Q_NAMESPACE |
|
| Q_NAMESPACE_EXPORT (EXPORT_MACRO) |
|
| Q_OBJECT Q_OBJECT |
|
| Q_PROPERTY (...) |
|
| Q_REVISION Q_REVISION |
|
| Q_SET_OBJECT_NAME (Object) |
|
| Q_SIGNAL Q_SIGNAL |
|
| Q_SIGNALS Q_SIGNALS |
|
| Q_SLOT Q_SLOT |
|
| Q_SLOTS Q_SLOTS |
|
T | qFindChild (const QObject *obj, const QString &name) |
|
QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
|
QList< T > | qFindChildren (const QObject *obj, const QString &name) |
|
| QObject (QObject *parent) |
|
T | qobject_cast (const QObject *object) |
|
T | qobject_cast (QObject *object) |
|
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT |
|
void | removeEventFilter (QObject *obj) |
|
void | setObjectName (const QString &name) |
|
void | setParent (QObject *parent) |
|
bool | setProperty (const char *name, const QVariant &value) |
|
bool | signalsBlocked () const const |
|
int | startTimer (int interval, Qt::TimerType timerType) |
|
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
|
QThread * | thread () const const |
|
|
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 *context, Functor functor, 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) |
|
bool | disconnect (const QMetaObject::Connection &connection) |
|
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 QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
|
QString | tr (const char *sourceText, const char *disambiguation, int n) |
|
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
|
typedef | QObjectList |
|
| objectName |
|
The license token is used to check permission of software usage, and maintains the list in table t_licensetokens.
It is good practice for all applications to create and validate, and regularly update license tokens, even if usage of a license group is free and unlimited. That way all activities of the system can be monitored.
A licenser who provides licensed modules can derive a class of BpsLicensToken and re-implement the checkLicense method to validate licenses with his private procedure. Licenses would usually be stored in the central system settings in the group Settings/Licenses/{LicenserName}.