Wireshark  4.3.0
The Wireshark network protocol analyzer
field_information.h
Go to the documentation of this file.
1 
10 #ifndef FIELD_INFORMATION_H_
11 #define FIELD_INFORMATION_H_
12 
13 #include <config.h>
14 
15 #include <epan/proto.h>
16 
17 #include <ui/qt/utils/proto_node.h>
18 #include "data_printer.h"
19 
20 #include <QObject>
21 
22 class FieldInformation : public QObject, public IDataPrintable
23 {
24  Q_OBJECT
25  Q_INTERFACES(IDataPrintable)
26 
27 public:
28 
29  struct HeaderInfo
30  {
31  QString name;
32  QString description;
33  QString abbreviation;
34  bool isValid;
35  enum ftenum type;
36  int parent;
37  int id;
38  };
39 
40  struct Position
41  {
42  int start;
43  int length;
44  };
45 
46  explicit FieldInformation(field_info * fi, QObject * parent = Q_NULLPTR);
47  explicit FieldInformation(const ProtoNode * node, QObject * parent = Q_NULLPTR);
48 
49  bool isValid() const;
50  bool isLink() const ;
51 
52  field_info * fieldInfo() const;
53 
54  HeaderInfo headerInfo() const;
55  Position position() const;
56  Position appendix() const;
57 
58  void setParentField(field_info * fi);
59  int treeType();
60  FieldInformation * parentField() const;
61  bool tvbContains(FieldInformation *);
62  unsigned flag(unsigned mask);
63  const QString moduleName();
64  QString toString();
65  QString url();
66 
67  const QByteArray printableData();
68 
69 private:
70 
71  field_info * fi_;
72  field_info * parent_fi_;
73 };
74 
75 
76 #endif // FIELD_INFORMATION_H_
Definition: field_information.h:23
Definition: idata_printable.h:23
Definition: proto_node.h:21
Definition: field_information.h:30
Definition: field_information.h:41
Definition: proto.h:816