Wireshark  4.3.0
The Wireshark network protocol analyzer
proto_node.h
Go to the documentation of this file.
1 
10 #ifndef PROTO_NODE_H_
11 #define PROTO_NODE_H_
12 
13 #include <config.h>
14 
15 #include <epan/proto.h>
16 
17 #include <QObject>
18 #include <QVector>
19 
20 class ProtoNode
21 {
22 public:
23 
24  class ChildIterator {
25  public:
26  typedef struct _proto_node * NodePtr;
27 
28  ChildIterator(NodePtr n = Q_NULLPTR);
29 
30  bool hasNext();
31  ChildIterator next();
32  ProtoNode element();
33 
34  protected:
35  NodePtr node;
36  };
37 
38  explicit ProtoNode(proto_node * node = NULL, ProtoNode *parent = nullptr);
39  ~ProtoNode();
40 
41  bool isValid() const;
42  bool isChild() const;
43  bool isExpanded() const;
44 
45  proto_node *protoNode() const;
46  ProtoNode *child(int row);
47  int childrenCount() const;
48  int row();
49  ProtoNode *parentNode();
50 
51  QString labelText() const;
52 
53  ChildIterator children() const;
54 
55 private:
56  proto_node * node_;
57  QVector<ProtoNode*>m_children;
58  ProtoNode *parent_;
59  static bool isHidden(proto_node * node);
60 };
61 
62 
63 #endif // PROTO_NODE_H_
Definition: proto_node.h:24
Definition: proto_node.h:21
Definition: proto.h:904