12 #define PCPP_END_OF_TEXT_BASED_PROTOCOL_HEADER ""
14 class TextBasedProtocolMessage;
71 return m_IsEndOfHeaderField;
75 HeaderField(
const std::string& name,
const std::string& value,
char nameValueSeparator,
76 bool spacesAllowedBetweenNameAndValue);
78 bool spacesAllowedBetweenNameAndValue);
80 char* getData()
const;
83 void initNewField(
const std::string& name,
const std::string& value);
86 uint8_t* m_NewFieldData;
88 int m_NameOffsetInMessage;
89 size_t m_FieldNameSize;
90 int m_ValueOffsetInMessage;
91 size_t m_FieldValueSize;
94 bool m_IsEndOfHeaderField;
95 char m_NameValueSeparator;
96 bool m_SpacesAllowedBetweenNameAndValue;
133 if (prevField !=
nullptr)
134 return prevField->getNextField();
164 const std::string& fieldValue);
173 const std::string& fieldValue);
225 void shiftFieldsOffset(
HeaderField* fromField,
int numOfBytesToShift);
228 virtual char getHeaderFieldNameValueSeparator()
const = 0;
229 virtual bool spacesAllowedBetweenHeaderFieldNameAndValue()
const = 0;
234 std::multimap<std::string, HeaderField*> m_FieldNameToFieldMap;
Definition: TextBasedProtocol.h:105
bool isHeaderComplete() const
size_t getHeaderLen() const override
HeaderField * getFieldByName(std::string fieldName, int index=0) const
bool removeField(HeaderField *fieldToRemove)
void parseNextLayer() override
Currently set only PayloadLayer for the rest of the data.
HeaderField * getFirstField() const
Definition: TextBasedProtocol.h:122
virtual HeaderField * insertField(std::string prevFieldName, const std::string &fieldName, const std::string &fieldValue)
HeaderField * getNextField(HeaderField *prevField) const
Definition: TextBasedProtocol.h:131
bool removeField(std::string fieldName, int index=0)
void computeCalculateFields() override
Does nothing for this class.
virtual HeaderField * insertField(HeaderField *prevField, const std::string &fieldName, const std::string &fieldValue)
virtual HeaderField * insertField(HeaderField *prevField, const HeaderField &newField)
virtual HeaderField * addField(const std::string &fieldName, const std::string &fieldValue)
int getFieldCount() const
virtual HeaderField * addField(const HeaderField &newField)
HeaderField * addEndOfHeader()
The main namespace for the PcapPlusPlus lib.
uint8_t ProtocolType
Definition: ProtocolType.h:13