9#ifndef QTSMITHY_SHAPE_P_H
10#define QTSMITHY_SHAPE_P_H
15#include <QLoggingCategory>
21Q_DECLARE_TR_FUNCTIONS(
Shape);
29 static Shape::Member getMember(
const QJsonObject &ast,
const QString &name);
30 static ShapeIdStringMap getShapeIdStrMap(
const QJsonObject &ast,
const QString &name);
32 static Shape::ShapeReferences getShapeRefs(
const QJsonObject &ast,
const QString &name);
33 static Shape::StringMemberMap getStrMemberMap(
const QJsonObject &ast,
const QString &name);
34 static Shape::StringShapeRefMap getStrShapeRefMap(
const QJsonObject &ast,
const QString &name);
35 static Shape::TraitsMap getTraitsMap(
const QJsonObject &ast,
const QString &name);
36 static QString getString(
const QJsonObject &ast,
const QString &name);
38 static QStringList supportedProperties(
const Shape::Type &type);
39 static QStringList requiredProperties(
const Shape::Type &type);
41 static bool validateIdentifier(
const QString &
id);
42 static bool validateProperty(
const QString &name,
const QJsonValue &value);
54 Q_DECLARE_PUBLIC(
Shape)
The ShapeId class provides a Qt representation of a Smithy Shape ID.
static Q_LOGGING_CATEGORY(lc, "smithy.Shape", QtInfoMsg)
Logging category for Shape.
Shape * q_ptr
Internal q-pointer.
ShapePrivate(Shape *const q)
The Shape class provides a Qt representation of a Smithy semantic shape.
#define QTSMITHY_EXPORT
QtSmithy library export/import macro.
#define QTSMITHY_BEGIN_NAMESPACE
Macro for starting the QtSmithy library's top-most namespace (if one is defined).
#define QTSMITHY_BEFRIEND_TEST(Class)
Macro for befriending a related unit test class, but only when QT_TESTLIB_LIB is defined.
#define QTSMITHY_END_NAMESPACE
Macro for ending the QtSmithy library's top-most namespace (if one is defined).
Declares the Shape class.
Declares the ShapeId class.