Fork of NetServicesMin with some warnings removed

Dependencies:   lwip-sys lwip

Fork of NetServicesMin by Hendrik Lipka

Committer:
uci1
Date:
Tue Oct 30 05:20:56 2012 +0000
Revision:
2:9cc2c6e42ffd
Parent:
0:8b387bed54c2
Fix some code that gives warnings when compiling with gcc (forward declared enums and addresses of temporary objects).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hlipka 0:8b387bed54c2 1
hlipka 0:8b387bed54c2 2 /*
hlipka 0:8b387bed54c2 3 Copyright (c) 2010 Donatien Garnier (donatiengar [at] gmail [dot] com)
hlipka 0:8b387bed54c2 4
hlipka 0:8b387bed54c2 5 Permission is hereby granted, free of charge, to any person obtaining a copy
hlipka 0:8b387bed54c2 6 of this software and associated documentation files (the "Software"), to deal
hlipka 0:8b387bed54c2 7 in the Software without restriction, including without limitation the rights
hlipka 0:8b387bed54c2 8 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
hlipka 0:8b387bed54c2 9 copies of the Software, and to permit persons to whom the Software is
hlipka 0:8b387bed54c2 10 furnished to do so, subject to the following conditions:
hlipka 0:8b387bed54c2 11
hlipka 0:8b387bed54c2 12 The above copyright notice and this permission notice shall be included in
hlipka 0:8b387bed54c2 13 all copies or substantial portions of the Software.
hlipka 0:8b387bed54c2 14
hlipka 0:8b387bed54c2 15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
hlipka 0:8b387bed54c2 16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
hlipka 0:8b387bed54c2 17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
hlipka 0:8b387bed54c2 18 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
hlipka 0:8b387bed54c2 19 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
hlipka 0:8b387bed54c2 20 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
hlipka 0:8b387bed54c2 21 THE SOFTWARE.
hlipka 0:8b387bed54c2 22 */
hlipka 0:8b387bed54c2 23
hlipka 0:8b387bed54c2 24 #ifndef HOST_H
hlipka 0:8b387bed54c2 25 #define HOST_H
hlipka 0:8b387bed54c2 26
hlipka 0:8b387bed54c2 27 #include "ipaddr.h"
hlipka 0:8b387bed54c2 28 #include <string.h>
hlipka 0:8b387bed54c2 29
hlipka 0:8b387bed54c2 30 ///Host information container
hlipka 0:8b387bed54c2 31 /**
hlipka 0:8b387bed54c2 32 This class is a container for data relative to a connection:
hlipka 0:8b387bed54c2 33 - IP Address
hlipka 0:8b387bed54c2 34 - Port number
hlipka 0:8b387bed54c2 35 - Host Name
hlipka 0:8b387bed54c2 36 */
hlipka 0:8b387bed54c2 37 class Host
hlipka 0:8b387bed54c2 38 {
hlipka 0:8b387bed54c2 39 public:
hlipka 0:8b387bed54c2 40 ///Initiliazes host with null values
uci1 2:9cc2c6e42ffd 41 Host() : m_ip(0,0,0,0), m_port(0), m_name(0)
hlipka 0:8b387bed54c2 42 {
hlipka 0:8b387bed54c2 43
hlipka 0:8b387bed54c2 44 }
hlipka 0:8b387bed54c2 45
hlipka 0:8b387bed54c2 46 ///Initializes host
uci1 2:9cc2c6e42ffd 47 Host(const IpAddr& ip, const int& port, const char* name="" ) : m_ip(ip), m_port(port), m_name(0)
hlipka 0:8b387bed54c2 48 {
hlipka 0:8b387bed54c2 49 setName(name);
hlipka 0:8b387bed54c2 50 }
hlipka 0:8b387bed54c2 51
hlipka 0:8b387bed54c2 52 ~Host()
hlipka 0:8b387bed54c2 53 {
hlipka 0:8b387bed54c2 54 if(m_name)
hlipka 0:8b387bed54c2 55 {
hlipka 0:8b387bed54c2 56 delete[] m_name;
hlipka 0:8b387bed54c2 57 }
hlipka 0:8b387bed54c2 58 }
hlipka 0:8b387bed54c2 59
hlipka 0:8b387bed54c2 60 ///Returns IP address
hlipka 0:8b387bed54c2 61 const IpAddr& getIp() const
hlipka 0:8b387bed54c2 62 {
hlipka 0:8b387bed54c2 63 return m_ip;
hlipka 0:8b387bed54c2 64 }
hlipka 0:8b387bed54c2 65
hlipka 0:8b387bed54c2 66 ///Returns port number
hlipka 0:8b387bed54c2 67 const int& getPort() const
hlipka 0:8b387bed54c2 68 {
hlipka 0:8b387bed54c2 69 return m_port;
hlipka 0:8b387bed54c2 70 }
hlipka 0:8b387bed54c2 71
hlipka 0:8b387bed54c2 72 ///Returns host name
hlipka 0:8b387bed54c2 73 const char* getName() const
hlipka 0:8b387bed54c2 74 {
hlipka 0:8b387bed54c2 75 return m_name;
hlipka 0:8b387bed54c2 76 }
hlipka 0:8b387bed54c2 77
hlipka 0:8b387bed54c2 78 ///Sets IP address
hlipka 0:8b387bed54c2 79 void setIp(const IpAddr& ip)
hlipka 0:8b387bed54c2 80 {
hlipka 0:8b387bed54c2 81 m_ip = ip;
hlipka 0:8b387bed54c2 82 }
hlipka 0:8b387bed54c2 83
hlipka 0:8b387bed54c2 84 ///Sets port number
hlipka 0:8b387bed54c2 85 void setPort(int port)
hlipka 0:8b387bed54c2 86 {
hlipka 0:8b387bed54c2 87 m_port = port;
hlipka 0:8b387bed54c2 88 }
hlipka 0:8b387bed54c2 89
hlipka 0:8b387bed54c2 90 ///Sets host name
hlipka 0:8b387bed54c2 91 void setName(const char* name)
hlipka 0:8b387bed54c2 92 {
hlipka 0:8b387bed54c2 93 if(m_name)
hlipka 0:8b387bed54c2 94 delete[] m_name;
hlipka 0:8b387bed54c2 95 int len = strlen(name);
hlipka 0:8b387bed54c2 96 if(len)
hlipka 0:8b387bed54c2 97 {
hlipka 0:8b387bed54c2 98 m_name = new char[len+1];
hlipka 0:8b387bed54c2 99 strcpy(m_name, name);
hlipka 0:8b387bed54c2 100 }
hlipka 0:8b387bed54c2 101 }
hlipka 0:8b387bed54c2 102
hlipka 0:8b387bed54c2 103 private:
hlipka 0:8b387bed54c2 104 IpAddr m_ip;
hlipka 0:8b387bed54c2 105 int m_port;
hlipka 0:8b387bed54c2 106 char* m_name;
hlipka 0:8b387bed54c2 107 };
hlipka 0:8b387bed54c2 108
hlipka 0:8b387bed54c2 109 #endif