Refactor AOPacket
This commit is contained in:
parent
29f8733dba
commit
aabb256207
@ -8,8 +8,7 @@
|
||||
class AOPacket {
|
||||
public:
|
||||
AOPacket(QString p_packet_string);
|
||||
AOPacket(QString header, QStringList &p_contents);
|
||||
~AOPacket();
|
||||
AOPacket(QString header, QStringList &p_contents) : m_header(header), m_contents(p_contents){}
|
||||
|
||||
QString get_header() { return m_header; }
|
||||
QStringList &get_contents() { return m_contents; }
|
||||
|
@ -4,59 +4,27 @@ AOPacket::AOPacket(QString p_packet_string)
|
||||
{
|
||||
QStringList packet_contents = p_packet_string.split("#");
|
||||
|
||||
m_header = packet_contents.at(0);
|
||||
|
||||
for (int n_string = 1; n_string < packet_contents.size() - 1; ++n_string) {
|
||||
m_contents.append(packet_contents.at(n_string));
|
||||
}
|
||||
m_header = packet_contents.first();
|
||||
m_contents = QStringList(packet_contents.begin()+1, packet_contents.end()-1); // trims %
|
||||
}
|
||||
|
||||
AOPacket::AOPacket(QString p_header, QStringList &p_contents)
|
||||
{
|
||||
m_header = p_header;
|
||||
m_contents = p_contents;
|
||||
}
|
||||
|
||||
AOPacket::~AOPacket() {}
|
||||
|
||||
QString AOPacket::to_string()
|
||||
{
|
||||
QString f_string = m_header;
|
||||
|
||||
for (QString i_string : m_contents) {
|
||||
f_string += ("#" + i_string);
|
||||
}
|
||||
|
||||
f_string += "#%";
|
||||
|
||||
|
||||
return f_string;
|
||||
return m_header + "#" + m_contents.join("#") + "#%";
|
||||
}
|
||||
|
||||
void AOPacket::net_encode()
|
||||
{
|
||||
for (int n_element = 0; n_element < m_contents.size(); ++n_element) {
|
||||
QString f_element = m_contents.at(n_element);
|
||||
f_element.replace("#", "<num>")
|
||||
.replace("%", "<percent>")
|
||||
.replace("$", "<dollar>")
|
||||
.replace("&", "<and>");
|
||||
|
||||
m_contents.removeAt(n_element);
|
||||
m_contents.insert(n_element, f_element);
|
||||
}
|
||||
m_contents.replaceInStrings("#", "<num>")
|
||||
.replaceInStrings("%", "<percent>")
|
||||
.replaceInStrings("$", "<dollar>")
|
||||
.replaceInStrings("&", "<and>");
|
||||
}
|
||||
|
||||
void AOPacket::net_decode()
|
||||
{
|
||||
for (int n_element = 0; n_element < m_contents.size(); ++n_element) {
|
||||
QString f_element = m_contents.at(n_element);
|
||||
f_element.replace("<num>", "#")
|
||||
.replace("<percent>", "%")
|
||||
.replace("<dollar>", "$")
|
||||
.replace("<and>", "&");
|
||||
|
||||
m_contents.removeAt(n_element);
|
||||
m_contents.insert(n_element, f_element);
|
||||
}
|
||||
m_contents.replaceInStrings("<num>", "#")
|
||||
.replaceInStrings("<percent>", "%")
|
||||
.replaceInStrings("<dollar>", "$")
|
||||
.replaceInStrings("<and>", "&");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user