7 #include "trace_model.hpp"
10 class VariantVisitor : public Trace::Visitor
13 virtual void visit(Trace::Null *);
14 virtual void visit(Trace::Bool *node);
15 virtual void visit(Trace::SInt *node);
16 virtual void visit(Trace::UInt *node);
17 virtual void visit(Trace::Float *node);
18 virtual void visit(Trace::String *node);
19 virtual void visit(Trace::Enum *e);
20 virtual void visit(Trace::Bitmask *bitmask);
21 virtual void visit(Trace::Struct *str);
22 virtual void visit(Trace::Array *array);
23 virtual void visit(Trace::Blob *blob);
24 virtual void visit(Trace::Pointer *ptr);
26 QVariant variant() const
38 ApiPointer(int val=0);
40 QString toString() const;
44 Q_DECLARE_METATYPE(ApiPointer);
49 typedef QList<QPair<QString, unsigned long long> > Signature;
51 ApiBitmask(const Trace::Bitmask *bitmask = 0);
53 QString toString() const;
56 void init(const Trace::Bitmask *bitmask);
59 unsigned long long m_value;
61 Q_DECLARE_METATYPE(ApiBitmask);
68 QStringList memberNames;
71 ApiStruct(const Trace::Struct *s = 0);
73 QString toString() const;
76 void init(const Trace::Struct *bitmask);
79 QList<QVariant> m_members;
81 Q_DECLARE_METATYPE(ApiStruct);
86 ApiArray(const Trace::Array *arr = 0);
88 QString toString() const;
91 void init(const Trace::Array *arr);
93 QList<QVariant> m_array;
95 Q_DECLARE_METATYPE(ApiArray);
98 QString apiVariantToString(const QVariant &variant);
104 QStringList argNames;
105 QVariantList argValues;
106 QVariant returnValue;