Dependents:   SimpleLCDClock readCard2Twitter_http AnalogClock_StepperMotor_NTP ServoCamV1

if/net/host.h

Committer:
donatien
Date:
2010-05-24
Revision:
0:3717b703f76d
Child:
1:e52ec2a24c6a

File content as of revision 0:3717b703f76d:

#ifndef HOST_H
#define HOST_H

class NetDnsRequest;

#include "ipaddr.h"
#include "netdnsrequest.h"
#include <string.h>

class Host 
{
public:
  Host() : m_ip(0,0,0,0), m_port(0), m_name(NULL)
  {
    
  }
  Host(const IpAddr& ip, const int& port, const char* name="" ) : m_ip(ip), m_port(port), m_name(NULL)
  {
    setName(name); 
  }
  
  ~Host()
  {
    if(m_name)
    {
      delete[] m_name;
    }
  }
  
  const IpAddr& getIp() const
  {
    return m_ip;
  }
  
  const int& getPort() const
  {
    return m_port;
  }
  
  const char* getName() const
  {
    return m_name;
  }
  
  void setIp(const IpAddr& ip)
  {
    m_ip = ip;
  }
  
  void setPort(int port)
  {
    m_port = port;
  }
  
  void setName(const char* name)
  {
    if(m_name)
      delete[] m_name;
    int len = strlen(name);
    if(len)
    {
      m_name = new char[len+1];
      strcpy(m_name, name);
    }
  }
  
private:
  friend class NetDnsRequest;
  IpAddr m_ip;
  int m_port;
  char* m_name;
};

#endif