aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/aopacket.h3
-rw-r--r--src/aopacket.cpp54
2 files changed, 12 insertions, 45 deletions
diff --git a/include/aopacket.h b/include/aopacket.h
index e6369982..6d1debad 100644
--- a/include/aopacket.h
+++ b/include/aopacket.h
@@ -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; }
diff --git a/src/aopacket.cpp b/src/aopacket.cpp
index 4cf43e1d..a989a3ad 100644
--- a/src/aopacket.cpp
+++ b/src/aopacket.cpp
@@ -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));
- }
-}
-
-AOPacket::AOPacket(QString p_header, QStringList &p_contents)
-{
- m_header = p_header;
- m_contents = p_contents;
+ m_header = packet_contents.first();
+ m_contents = QStringList(packet_contents.begin()+1, packet_contents.end()-1); // trims %
}
-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>", "&");
}