working on the model...
This commit is contained in:
parent
1304cb314c
commit
6337b7dfb5
|
@ -1,11 +1,34 @@
|
|||
#include "packetelement.h"
|
||||
#include <memory>
|
||||
|
||||
PacketElement::PacketElement(std::__cxx11::string name, uint32_t sizeInBit, uint16_t layer): name(name), sizeInBit(sizeInBit), layer(layer)
|
||||
PacketElement::PacketElement(std::string name, uint32_t sizeInBit, uint16_t layer): name(name), sizeInBit(sizeInBit), layer(layer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void PacketElement::setValue(std::__cxx11::string &value, ValueType type)
|
||||
void PacketElement::setValue(std::string &value, ValueType type)
|
||||
{
|
||||
|
||||
this->value = std::string(value);
|
||||
this->valueType = type;
|
||||
}
|
||||
|
||||
std::list<uint8_t> PacketElement::getBytes()
|
||||
{
|
||||
std::list<uint8_t> result;
|
||||
switch(this->valueType) {
|
||||
case ValueType::text:
|
||||
for(uint8_t c : this->value)
|
||||
result.push_back(c);
|
||||
break;
|
||||
case ValueType::integer:
|
||||
break;
|
||||
case ValueType::hexBinary:
|
||||
|
||||
break;
|
||||
default:
|
||||
//wtf?
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return std::list<uint8_t>();
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ typedef
|
|||
/**
|
||||
@brief The ValueType enum
|
||||
*/
|
||||
enum class ValueType { hexBinary, integer, text, base64 };
|
||||
enum class ValueType { hexBinary, integer, text };
|
||||
|
||||
class ElementSyntax
|
||||
{
|
||||
|
@ -74,13 +74,15 @@ public:
|
|||
|
||||
void addSyntax(std::string minimalRegex, std::string completeRegex, std::string example)
|
||||
{
|
||||
ElementSyntax syntax;
|
||||
syntax.triggerRegex = minimalRegex;
|
||||
syntax.completeRegex = completeRegex;
|
||||
syntax.example = example;
|
||||
std::shared_ptr<ElementSyntax> syntax = std::make_shared<ElementSyntax>();
|
||||
syntax->triggerRegex = minimalRegex;
|
||||
syntax->completeRegex = completeRegex;
|
||||
syntax->example = example;
|
||||
syntaxes.push_back(syntax);
|
||||
}
|
||||
|
||||
std::list<uint8_t> getBytes();
|
||||
|
||||
private:
|
||||
std::string name;
|
||||
uint32_t sizeInBit;
|
||||
|
@ -92,7 +94,7 @@ private:
|
|||
|
||||
//additional data
|
||||
std::string description;
|
||||
std::list<ElementSyntax> syntaxes;
|
||||
std::list<std::shared_ptr<ElementSyntax>> syntaxes;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -13,6 +13,8 @@ public:
|
|||
PacketModel();
|
||||
const std::shared_ptr<PacketElementList_t> getList();
|
||||
|
||||
bool validate();
|
||||
|
||||
private:
|
||||
std::shared_ptr<PacketElementList_t> elementList;
|
||||
};
|
||||
|
|
Reference in New Issue