DCS_TEAM / GPRS-server

Fork of GPRSInterface by -deleted-

Socket/Endpoint.h

Committer:
lawliet
Date:
2014-02-25
Revision:
0:8ccbd963e74d

File content as of revision 0:8ccbd963e74d:

/*
  Endpoint.h
  2014 Copyright (c) Seeed Technology Inc.  All right reserved.

  Author:lawliet zou(lawliet.zou@gmail.com)
  2014-2-24

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/
#ifndef ENDPOINT_H
#define ENDPOINT_H

#include "GPRS.h"

class UDPSocket;

/**
IP Endpoint (address, port)
*/
class Endpoint {
    friend class UDPSocket;

public:
    /** IP Endpoint (address, port)
     */
    Endpoint(void);
    
    ~Endpoint(void);
    
    /** Reset the address of this endpoint
     */
    void reset_address(void);
    
    /** Set the address of this endpoint
    \param host The endpoint address (it can either be an IP Address or a hostname that will be resolved with DNS).
    \param port The endpoint port
    \return 0 on success, -1 on failure (when an hostname cannot be resolved by DNS).
     */
    int  set_address(const char* host, const int port);
    
    /** Get the IP address of this endpoint
    \return The IP address of this endpoint.
     */
    char* get_address(void);
    
    /** Get the port of this endpoint
    \return The port of this endpoint
     */
    int get_port(void);

protected:
    char _ipAddress[16];
    int _port;
};

#endif