#include <wscout_gui_abstract_header.hh>
Public Types | |
typedef std::pair < protocol::id, const void * > | next_header |
Public Member Functions | |
AbstractHeader (QWidget *parent=0) | |
virtual next_header | setup (const void *packet, size_t caplen)=0 |
QBoxLayout * | layout () |
WScout models packets as a list of protocol headers. Each header is a Qt Widget that gets embedded inside the packet widget (Packet). In order to have Packet be independent of protocols, each protocol must satisfy a unified interface. AbstractHeader specify this interface.
To implement a new protocol, subclass HeaderBase and implement setup().
typedef std::pair<protocol::id, const void*> wscout::gui::AbstractHeader::next_header |
Identify this header's next header.
The first element specifies the next header's protocol. The second one points to the next header's beginning of data.
If there is no next protocol, use protocol::NONE. If the next protocol is unknown, use protocol::UNKNOWN.
wscout::gui::AbstractHeader::AbstractHeader | ( | QWidget * | parent = 0 |
) | [inline] |
Default constructor.
Each protcol header widget must provide a default constructor. Else Packet will no be able to instanciate it.
virtual next_header wscout::gui::AbstractHeader::setup | ( | const void * | packet, | |
size_t | caplen | |||
) | [pure virtual] |
Setup the widget for a specific packet.
This method is purely abstract. You must define it when subclassing.
[in] | packet | Pointer to the packet's begining. |
[in] | caplen | Number of availabe bytes for this packet. |
Implemented in wscout::gui::IEEE80211Header, and wscout::gui::PrismHeader.
QBoxLayout * wscout::gui::HeaderFrame::layout | ( | ) | [inherited] |
This protocol header widget's layout.