27class QQmlDelayedCallQueue :
public QObject
31 QQmlDelayedCallQueue();
32 ~QQmlDelayedCallQueue() override;
34 void init(QV4::ExecutionEngine *);
36 static QV4::ReturnedValue addUniquelyAndExecuteLater(QV4::ExecutionEngine *engine,
37 QQmlV4FunctionPtr args);
43 struct DelayedFunctionCall
45 DelayedFunctionCall() {}
46 DelayedFunctionCall(QV4::PersistentValue function)
47 : m_function(function), m_guarded(
false) { }
49 void execute(QV4::ExecutionEngine *engine)
const;
51 QV4::PersistentValue m_function;
52 QV4::PersistentValue m_args;
53 QQmlGuard<QObject> m_objectGuard;
57 void storeAnyArguments(DelayedFunctionCall& dfc, QQmlV4FunctionPtr args,
int offset, QV4::ExecutionEngine *engine);
58 void executeAllExpired_Later();
60 QV4::ExecutionEngine *m_engine;
61 QVector<DelayedFunctionCall> m_delayedFunctionCalls;
62 QMetaMethod m_tickedMethod;
63 bool m_callbackOutstanding;