C027_SupportTest_xively_locationで使用しているC027用ライブラリ

Fork of C027_Support by u-blox

下記のプログラムC027_SupportTest_xively_locationで使用しているC027用ライブラリです。

Import programC027_SupportTest_xively_location

インターフェース2014年10月号のu-blox C027で3G通信する記事で使用したプログラム。   CQ publishing Interface 2014.10 issue, C027 3G test program.

オリジナルのライブラリは下記を参照してください。

Import libraryC027_Support

support library for C027 helper functions for Buffer Pipes, Buffered Serial Port (rtos capable) and GPS parsing. It includes modem APIs for USSD, SMS and Sockets.

Socket/TCPSocketConnection.h

Committer:
mazgch
Date:
2014-04-17
Revision:
44:9d12223b78ff
Child:
47:9a89e5195721

File content as of revision 44:9d12223b78ff:

#ifndef TCPSOCKET_H
#define TCPSOCKET_H

#include "Socket.h"

/** TCP socket connection
 */
class TCPSocketConnection: public Socket
{
    friend class TCPSocketServer;

public:
    /** TCP socket connection
    */
    TCPSocketConnection() {}

    /** Connects this TCP socket to the server
    \param host The host to connect to. It can either be an IP Address or a hostname that will be resolved with DNS.
    \param port The host's port to connect to.
    \return 0 on success, -1 on failure.
    */
    int connect(const char* host, const int port)
    {
        if (_socket < 0) {
            _socket = _mdm->socketSocket(MDMParser::IPPROTO_TCP);
            if (_socket < 0) {
                return -1;
            }
        }
    
        if (!_mdm->socketConnect(_socket, host, port)) {
            return false;
        }
        return true;
    }
    /** Check if the socket is connected
    \return true if connected, false otherwise.
    */
    bool is_connected(void)                 { return _mdm->socketIsConnected(_socket); }

    /** Send data to the remote host.
    \param data The buffer to send to the host.
    \param length The length of the buffer to send.
    \return the number of written bytes on success (>=0) or -1 on failure
     */
    int send(char* data, int length)        { return _mdm->socketSend(_socket, data, length); }

    /** Send all the data to the remote host.
    \param data The buffer to send to the host.
    \param length The length of the buffer to send.
    \return the number of written bytes on success (>=0) or -1 on failure
    */
    int send_all(char* data, int length)    { return send(data,length); }

    /** Receive data from the remote host.
    \param data The buffer in which to store the data received from the host.
    \param length The maximum length of the buffer.
    \return the number of received bytes on success (>=0) or -1 on failure
     */
    int receive(char* data, int length)     { return _mdm->socketRecv(_socket, data, length); }

    /** Receive all the data from the remote host.
    \param data The buffer in which to store the data received from the host.
    \param length The maximum length of the buffer.
    \return the number of received bytes on success (>=0) or -1 on failure
    */
    int receive_all(char* data, int length) { return receive(data,length); }
    
};

#endif