ff4ff35918
Red Bear OS is a full fork. All sources must be available from git clone with zero network access. Removed gitignore rules that excluded fetched source trees under recipes/*/source/, local/recipes/kde/*/source/, local/recipes/qt/*/source/, and vendor source trees. Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded. 127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt frameworks, mesa, wayland, DRM drivers, and every other recipe source.
134 lines
4.6 KiB
Perl
134 lines
4.6 KiB
Perl
struct ${classname}::Data: private QScxmlTableData {
|
|
Data(${classname} &stateMachine)
|
|
: stateMachine(stateMachine)
|
|
{}
|
|
|
|
void init() {
|
|
stateMachine.setTableData(this);
|
|
${dataModelInitialization}
|
|
}
|
|
|
|
QString name() const override final
|
|
{ return ${name}; }
|
|
|
|
QScxmlExecutableContent::ContainerId initialSetup() const override final
|
|
{ return ${initialSetup}; }
|
|
|
|
QScxmlExecutableContent::InstructionId *instructions() const override final
|
|
{ return theInstructions; }
|
|
|
|
QScxmlExecutableContent::StringId *dataNames(int *count) const override final
|
|
{ *count = ${dataNameCount}; return dataIds; }
|
|
|
|
QScxmlExecutableContent::EvaluatorInfo evaluatorInfo(QScxmlExecutableContent::EvaluatorId evaluatorId) const override final
|
|
{ Q_ASSERT(evaluatorId >= 0); Q_ASSERT(evaluatorId < ${evaluatorCount}); return evaluators[evaluatorId]; }
|
|
|
|
QScxmlExecutableContent::AssignmentInfo assignmentInfo(QScxmlExecutableContent::EvaluatorId assignmentId) const override final
|
|
{ Q_ASSERT(assignmentId >= 0); Q_ASSERT(assignmentId < ${assignmentCount}); return assignments[assignmentId]; }
|
|
|
|
QScxmlExecutableContent::ForeachInfo foreachInfo(QScxmlExecutableContent::EvaluatorId foreachId) const override final
|
|
{ Q_ASSERT(foreachId >= 0); Q_ASSERT(foreachId < ${foreachCount}); return foreaches[foreachId]; }
|
|
|
|
QString string(QScxmlExecutableContent::StringId id) const override final
|
|
{
|
|
Q_ASSERT(id >= QScxmlExecutableContent::NoString); Q_ASSERT(id < ${stringCount});
|
|
if (id == QScxmlExecutableContent::NoString) return QString();
|
|
const auto dataOffset = strings.offsetsAndSize[id * 2];
|
|
const auto dataSize = strings.offsetsAndSize[id * 2 + 1];
|
|
return QString::fromRawData(reinterpret_cast<const QChar*>(&strings.stringdata[dataOffset]), dataSize);
|
|
}
|
|
|
|
const qint32 *stateMachineTable() const override final
|
|
{ return theStateMachineTable; }
|
|
|
|
QScxmlInvokableServiceFactory *serviceFactory(int id) const override final;
|
|
|
|
${classname} &stateMachine;
|
|
${dataModelField}
|
|
|
|
static QScxmlExecutableContent::ParameterInfo param(QScxmlExecutableContent::StringId name,
|
|
QScxmlExecutableContent::EvaluatorId expr,
|
|
QScxmlExecutableContent::StringId location)
|
|
{
|
|
QScxmlExecutableContent::ParameterInfo p;
|
|
p.name = name;
|
|
p.expr = expr;
|
|
p.location = location;
|
|
return p;
|
|
}
|
|
|
|
static QScxmlExecutableContent::InvokeInfo invoke(
|
|
QScxmlExecutableContent::StringId id,
|
|
QScxmlExecutableContent::StringId prefix,
|
|
QScxmlExecutableContent::EvaluatorId expr,
|
|
QScxmlExecutableContent::StringId location,
|
|
QScxmlExecutableContent::StringId context,
|
|
QScxmlExecutableContent::ContainerId finalize,
|
|
bool autoforward)
|
|
{
|
|
QScxmlExecutableContent::InvokeInfo i;
|
|
i.id = id;
|
|
i.prefix = prefix;
|
|
i.expr = expr;
|
|
i.location = location;
|
|
i.context = context;
|
|
i.finalize = finalize;
|
|
i.autoforward = autoforward;
|
|
return i;
|
|
}
|
|
|
|
static qint32 theInstructions[];
|
|
static QScxmlExecutableContent::StringId dataIds[];
|
|
static QScxmlExecutableContent::EvaluatorInfo evaluators[];
|
|
static QScxmlExecutableContent::AssignmentInfo assignments[];
|
|
static QScxmlExecutableContent::ForeachInfo foreaches[];
|
|
static const qint32 theStateMachineTable[];
|
|
static struct Strings {
|
|
const uint offsetsAndSize[${stringCount} * 2];
|
|
char16_t stringdata[${stringdataSize}];
|
|
} strings;
|
|
};
|
|
|
|
${classname}::${classname}(QObject *parent)
|
|
: QScxmlStateMachine(&staticMetaObject, parent)
|
|
, data(new Data(*this))
|
|
{ qRegisterMetaType<${classname} *>(); data->init(); }
|
|
|
|
${classname}::~${classname}()
|
|
{ delete data; }
|
|
|
|
QScxmlInvokableServiceFactory *${classname}::Data::serviceFactory(int id) const
|
|
{
|
|
${serviceFactories}
|
|
}
|
|
|
|
qint32 ${classname}::Data::theInstructions[] = {
|
|
${theInstructions}
|
|
};
|
|
|
|
QScxmlExecutableContent::StringId ${classname}::Data::dataIds[] = {
|
|
${dataIds}
|
|
};
|
|
|
|
QScxmlExecutableContent::EvaluatorInfo ${classname}::Data::evaluators[] = {
|
|
${evaluators}
|
|
};
|
|
|
|
QScxmlExecutableContent::AssignmentInfo ${classname}::Data::assignments[] = {
|
|
${assignments}
|
|
};
|
|
|
|
QScxmlExecutableContent::ForeachInfo ${classname}::Data::foreaches[] = {
|
|
${foreaches}
|
|
};
|
|
|
|
${classname}::Data::Strings ${classname}::Data::strings = {{
|
|
${strLits}
|
|
},{
|
|
${uniLits}
|
|
}};
|
|
|
|
const qint32 ${classname}::Data::theStateMachineTable[] = ${theStateMachineTable};
|
|
|
|
${metaObject}
|