2ec7fb30c2
- New Classes: o ProtocolManager - singleton with which all protocols register o ProtocolCollection - Aggregates all registered protocols; exports methods to work on all protocols o StreamBase - aggregates ProtocolCollection with Stream Core and Control; the client/server side stream classes now derive from StreamBase leading to major reduction in their code (more cleanup pending) - AbstractProtocol now supports the additional methods o createInstance() o protocolFrameSize() o protocolFrameOffset(), protocolFramePayloadSize() o protocolId(), payloadProtocolId() o protocolFrameCksum(), protocolFramePayloadCksum() 0 constructor takes an extra param - frameProtoList - Specific protocols - eth2, llc, snap, ip4, udp, tcp now return length, protocol id and cksums correctly (tcp/udp cksum pending) - StreamConfigDialog - protocol controls for length, cksum and protocolid are automatically updated (not fully working yet)
19 lines
307 B
C++
19 lines
307 B
C++
#ifndef _PROTOCOL_MANAGER_H
|
|
#define _PROTOCOL_MANAGER_H
|
|
|
|
#include <QMap>
|
|
|
|
class ProtocolManager
|
|
{
|
|
public:
|
|
static QMap<QString, int> nameToNumberMap;
|
|
static QMap<int, void*> factory;
|
|
|
|
public:
|
|
ProtocolManager();
|
|
void registerProtocol(int protoNumber, QString protoName,
|
|
void *protoCreator);
|
|
};
|
|
|
|
#endif
|