Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
data_printer.h
Go to the documentation of this file.
1
13#ifndef DATA_PRINTER_H
14#define DATA_PRINTER_H
15
16#include <config.h>
17
18#include <QObject>
19#include <QActionGroup>
20
22
26class DataPrinter : public QObject
27{
28 Q_OBJECT
29public:
34 explicit DataPrinter(QObject *parent = 0);
35
51
57 void toClipboard(DataPrinter::DumpType type, IDataPrintable * printable);
58
63 void setByteLineLength(int bll);
64
69 int byteLineLength() const;
70
75 static int separatorInterval() { return 8; }
76
81 static int hexChars();
82
89 static QActionGroup * copyActions(QObject * copyClass, QObject * data = Q_NULLPTR);
90
95 static DataPrinter * instance();
96
97protected slots:
101 void copyIDataBytes(bool);
102
103private:
110 QString hexTextDump(const QByteArray printData, bool showASCII);
111
116 void binaryDump(const QByteArray printData);
117
119 int byteLineLength_;
120};
121
122#endif // DATA_PRINTER_H
Utility class for formatting and exporting byte data in various text formats.
Definition data_printer.h:27
static QActionGroup * copyActions(QObject *copyClass, QObject *data=Q_NULLPTR)
Generates a QActionGroup containing copy actions for all supported formats.
Definition data_printer.cpp:264
static int separatorInterval()
Number of bytes after which to insert an extra separator space in a hex dump.
Definition data_printer.h:75
DumpType
Enumeration of supported data dump formats.
Definition data_printer.h:39
@ DP_ASCIIText
Definition data_printer.h:44
@ DP_HexStream
Definition data_printer.h:42
@ DP_Base64
Definition data_printer.h:49
@ DP_HexOnly
Definition data_printer.h:41
@ DP_UTF8Text
Definition data_printer.h:43
@ DP_GoLiteral
Definition data_printer.h:46
@ DP_CString
Definition data_printer.h:45
@ DP_HexDump
Definition data_printer.h:40
@ DP_CArray
Definition data_printer.h:47
@ DP_MimeData
Definition data_printer.h:48
int byteLineLength() const
Retrieves the current number of bytes displayed per line.
Definition data_printer.cpp:172
static int hexChars()
Calculates the total number of hexadecimal characters per line based on settings.
Definition data_printer.cpp:177
void toClipboard(DataPrinter::DumpType type, IDataPrintable *printable)
Formats the printable data and copies it to the system clipboard.
Definition data_printer.cpp:29
void copyIDataBytes(bool)
Slot triggered to copy bytes from a printable interface.
Definition data_printer.cpp:332
static DataPrinter * instance()
Retrieves the singleton instance of DataPrinter.
Definition data_printer.cpp:256
void setByteLineLength(int bll)
Sets the number of bytes displayed per line in formatted dumps.
Definition data_printer.cpp:167
An interface for objects that can provide a printable data representation.
Definition idata_printable.h:26