18 #ifndef NURIA_RUNTIMEMETAOBJECT_HPP
19 #define NURIA_RUNTIMEMETAOBJECT_HPP
21 #include "metaobject.hpp"
26 class RuntimeMetaObjectPrivate;
93 typedef std::function< bool(void *, const QVariant &) >
FieldSetter;
115 void setQtMetaTypeId (
int valueTypeId);
124 void setQtMetaTypePointerId (
int pointerTypeId);
130 void setBaseClasses (
const QVector< QByteArray > &bases);
152 void addMethod (
MetaMethod::Type type,
const QByteArray &name,
const QByteArray &returnType,
153 const QVector< QByteArray > &argumentNames,
const QVector< QByteArray > &argumentTypes,
159 void addEnum (
const QByteArray &name,
const AnnotationMap &annotations,
160 const QMap< QByteArray, int > &keyValueMap);
167 void addField (
const QByteArray &name,
const QByteArray &valueType,
const AnnotationMap &annotations,
174 void addField (
const QByteArray &name,
const QByteArray &valueType,
const AnnotationMap &annotations,
185 void gateCall (
GateMethod method,
int category,
int index,
int nth,
void *result,
void *additional)
override;
188 int runtimeAnnotationCount (
int category,
int index);
189 QByteArray runtimeAnnotationName (
int category,
int index,
int nth);
190 QVariant runtimeAnnotationValue (
int category,
int index,
int nth);
192 QByteArray runtimeMethodName (
int index);
194 QByteArray runtimeMethodReturnType (
int index);
195 QVector< QByteArray > runtimeMethodArgumentNames (
int index);
196 QVector< QByteArray > runtimeMethodArgumentTypes (
int index);
197 Callback runtimeMethodCallback (
void *instance,
int index);
198 Callback runtimeMethodUnsafeCallback (
void *instance,
int index);
199 Callback runtimeMethodArgumentTest (
void *instance,
int index);
201 QByteArray runtimeFieldName (
int index);
202 QByteArray runtimeFieldType (
int index);
203 QVariant runtimeFieldRead (
int index,
void *instance);
204 bool runtimeFieldWrite (
int index,
void *instance,
const QVariant &value);
207 QByteArray runtimeEnumName (
int index);
208 int runtimeEnumElementCount (
int index);
209 QByteArray runtimeEnumElementKey (
int index,
int nth);
210 int runtimeEnumElementValue (
int index,
int nth);
212 RuntimeMetaObjectPrivate *d;
218 #endif // RUNTIMEMETAOBJECT_HPP
A modern style callback mechanism which can be bound to various method types including slots...
Definition: callback.hpp:141