Merge pull request #363 from skyedeving/aopacket-refactor
Refactor AOPacket
This commit is contained in:
		
						commit
						811db3f27c
					
				@ -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