API dokumentacija

U ovom odjeljku su prikazane funkcije koje se koriste za interfejs sa programima koji koriste ovu biblioteku.

Globalni simboli

Defines

DEVLIB_EXPORT

Napomena

Simbol DEVLIB_EXPORT je potrebno staviti ispred deklaracije svake klase i funkcije kako bi se biblioteka ispravno kompajlirala i mogla koristiti.

Klasa ValueSpec

#include "devlib/value.h"

Pregled

_intermediate/devlib/_build/doxygen/html/classValueSpec__coll__graph.svg

class Devlib::ValueSpec

Public Functions

ValueSpec() = default
ValueSpec(const QString &type, const QStringList range, const QString &unit = "")
QString getValueType() const
QStringList getValueRange() const
QString getUnit() const
bool isFloat() const
bool isInt() const
bool isBool() const
bool isVoid() const
bool isCustomEnum() const
float getMinFloat() const
float getMaxFloat() const
int getMinInt() const
int getMaxInt() const
void setValueType(const QString &type)
void setValueRange(const QStringList &range)
void setSpec(const QString &type, const QStringList &range)
void setSpec(const QString &type, const QStringList &range, const QString &unit)
void setUnit(const QString &unit)

Public Static Functions

static bool isValidType(const QString &type)
static bool isValidSpec(const QString &type, const QStringList &range)

Friends

friend class Data
friend friend QStringList _parseValueRange (const QJsonValue &valueRange, const QString &valueType)

Klasa Data

#include "devlib/data.h"

Pregled

_intermediate/devlib/_build/doxygen/html/classData__coll__graph.svg

class Devlib::Data

Public Functions

Data() = default
Data(const QString &name, const QString &friendlyName, const ValueSpec &valueSpec)
QString getName() const
QString getFriendlyName() const
ValueSpec &getValueSpec()
ValueSpec getValueSpec() const
void setName(const QString &name)
void setFriendlyName(const QString &name)
void setValueSpec(const ValueSpec &spec)

Struktura Condition

#include "devlib/function.h"

Pregled

Dijagram klasa

_intermediate/devlib/_build/doxygen/html/structCondition__coll__graph.svg

struct Devlib::Condition

Public Members

QString dataName
QString value

Klasa Function i podklase

#include "devlib/function.h"

Pregled

Dijagram klasa

_intermediate/devlib/_build/doxygen/html/classFunction__inherit__graph.svg

class Devlib::Function

Subclassed by Devlib::MultiFunction, Devlib::SingleFunction

Public Functions

virtual bool isSingleFunction() const = 0
virtual bool isMultiFunction() const
virtual QList<SingleFunction*> getSingleFunctions() = 0
virtual QList<const SingleFunction*> getSingleFunctions() const = 0

Pregled

_intermediate/devlib/_build/doxygen/html/classSingleFunction__coll__graph.svg

class Devlib::SingleFunction : public Devlib::Function

Public Functions

SingleFunction()
virtual ~SingleFunction() = default
SingleFunction(const QString &name, const QString &friendlyName, const ValueSpec &valueSpec, const Condition &condition = {})
QString getName() const
QString getFriendlyName() const
ValueSpec getValueSpec() const
Condition getCondition() const
virtual bool isSingleFunction() const override
virtual QList<SingleFunction*> getSingleFunctions() override
virtual QList<const SingleFunction*> getSingleFunctions() const override
void setName(const QString &name)
void setFriendlyName(const QString &friendly)
void setValueSpec(const ValueSpec &spec)
void setCondition(const Condition &condition)

Pregled

_intermediate/devlib/_build/doxygen/html/classMultiFunction__coll__graph.svg

class Devlib::MultiFunction : public Devlib::Function

Public Functions

MultiFunction() = default
MultiFunction(const QList<SingleFunction*> &subfunctions)
virtual ~MultiFunction() = default
virtual bool isSingleFunction() const override
virtual QList<SingleFunction*> getSingleFunctions() override
virtual QList<const SingleFunction*> getSingleFunctions() const override
void setSubfunctions(const QList<SingleFunction*> &subfunctions)

Klasa Device

#include "devlib/device.h"

Pregled

_intermediate/devlib/_build/doxygen/html/classDevice__coll__graph.svg

class Devlib::Device

Public Functions

virtual ~Device()
QString getName() const
QString getVendorId() const
QString getModel() const
QString getDescription() const
QList<Data*> &getData()
QList<const Data*> getData() const
QList<Function*> &getFunctions()
QList<const Function*> getFunctions() const
QString operator[](const QString &attr) const
QMap<QString, QString> getAttributes() const
void setAttribute(const QString &attr, const QString &value)
void setName(const QString &name)
void setVendorId(const QString &id)
void setModel(const QString &id)
void setDescription(const QString &serialNo)
void setData(const QList<Data*> &data)
void setFunctions(const QList<Function*> &functions)

Public Static Functions

static QStringList textualAttributeNames()

Funkcije za rad sa JSON

#include "devlib/json.h"

namespace Devlib

Functions

Device DEVLIB_EXPORT jsonParseDevice (const QString &factoryFile)
Data DEVLIB_EXPORT * jsonParseData (const QJsonObject &data)
SingleFunction DEVLIB_EXPORT * jsonParseFunction (const QJsonObject &func)
MultiFunction DEVLIB_EXPORT * jsonParseFunction (const QJsonArray &func)
Condition DEVLIB_EXPORT jsonParseCondition (const QString &cond)
ValueSpec DEVLIB_EXPORT jsonParseValueSpec (const QJsonObject &obj)