17 #ifndef NURIA_RUNTIMEMETAOBJECT_HPP
18 #define NURIA_RUNTIMEMETAOBJECT_HPP
20 #include "metaobject.hpp"
25 class RuntimeMetaObjectPrivate;
92 typedef std::function< bool(void *, const QVariant &) >
FieldSetter;
114 void setQtMetaTypeId (
int valueTypeId);
123 void setQtMetaTypePointerId (
int pointerTypeId);
126 void setAnnotations (
const AnnotationMap &annotations);
129 void setBaseClasses (
const QVector< QByteArray > &bases);
138 void setInstanceDeleter (InstanceDeleter deleter);
151 void addMethod (
MetaMethod::Type type,
const QByteArray &name,
const QByteArray &returnType,
152 const QVector< QByteArray > &argumentNames,
const QVector< QByteArray > &argumentTypes,
153 const AnnotationMap &annotations, InvokeCreator invokeCreator);
158 void addEnum (
const QByteArray &name,
const AnnotationMap &annotations,
159 const QMap< QByteArray, int > &keyValueMap);
166 void addField (
const QByteArray &name,
const QByteArray &valueType,
const AnnotationMap &annotations,
167 FieldGetter getter, FieldSetter setter);
173 void addField (
const QByteArray &name,
const QByteArray &valueType,
const AnnotationMap &annotations,
184 void gateCall (
GateMethod method,
int category,
int index,
int nth,
void *result,
void *additional)
override;
187 int runtimeAnnotationCount (
int category,
int index);
188 QByteArray runtimeAnnotationName (
int category,
int index,
int nth);
189 QVariant runtimeAnnotationValue (
int category,
int index,
int nth);
191 QByteArray runtimeMethodName (
int index);
193 QByteArray runtimeMethodReturnType (
int index);
194 QVector< QByteArray > runtimeMethodArgumentNames (
int index);
195 QVector< QByteArray > runtimeMethodArgumentTypes (
int index);
196 Callback runtimeMethodCallback (
void *instance,
int index);
197 Callback runtimeMethodUnsafeCallback (
void *instance,
int index);
198 Callback runtimeMethodArgumentTest (
void *instance,
int index);
200 QByteArray runtimeFieldName (
int index);
201 QByteArray runtimeFieldType (
int index);
202 QVariant runtimeFieldRead (
int index,
void *instance);
203 bool runtimeFieldWrite (
int index,
void *instance,
const QVariant &value);
206 QByteArray runtimeEnumName (
int index);
207 int runtimeEnumElementCount (
int index);
208 QByteArray runtimeEnumElementKey (
int index,
int nth);
209 int runtimeEnumElementValue (
int index,
int nth);
211 RuntimeMetaObjectPrivate *d;
217 #endif // RUNTIMEMETAOBJECT_HPP
A modern style callback mechanism which can be bound to various method types including slots...
Definition: callback.hpp:140
Definition: abstractsessionmanager.hpp:24