8 #include "trace_model.hpp"
11 class VariantVisitor : public Trace::Visitor
14 virtual void visit(Trace::Null *);
15 virtual void visit(Trace::Bool *node);
16 virtual void visit(Trace::SInt *node);
17 virtual void visit(Trace::UInt *node);
18 virtual void visit(Trace::Float *node);
19 virtual void visit(Trace::String *node);
20 virtual void visit(Trace::Enum *e);
21 virtual void visit(Trace::Bitmask *bitmask);
22 virtual void visit(Trace::Struct *str);
23 virtual void visit(Trace::Array *array);
24 virtual void visit(Trace::Blob *blob);
25 virtual void visit(Trace::Pointer *ptr);
27 QVariant variant() const
39 ApiPointer(int val=0);
41 QString toString() const;
45 Q_DECLARE_METATYPE(ApiPointer);
50 typedef QList<QPair<QString, unsigned long long> > Signature;
52 ApiBitmask(const Trace::Bitmask *bitmask = 0);
54 QString toString() const;
57 void init(const Trace::Bitmask *bitmask);
60 unsigned long long m_value;
62 Q_DECLARE_METATYPE(ApiBitmask);
69 QStringList memberNames;
72 ApiStruct(const Trace::Struct *s = 0);
74 QString toString() const;
77 void init(const Trace::Struct *bitmask);
80 QList<QVariant> m_members;
82 Q_DECLARE_METATYPE(ApiStruct);
87 ApiArray(const Trace::Array *arr = 0);
89 QString toString() const;
92 void init(const Trace::Array *arr);
94 QList<QVariant> m_array;
96 Q_DECLARE_METATYPE(ApiArray);
99 QString apiVariantToString(const QVariant &variant);
105 QStringList argNames;
106 QVariantList argValues;
107 QVariant returnValue;
109 QString richText() const;
110 QStaticText staticText() const;
112 mutable QString m_richText;
113 mutable QStaticText m_staticText;
115 Q_DECLARE_METATYPE(ApiTraceCall);
116 Q_DECLARE_METATYPE(ApiTraceCall*);