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/Socket.h

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

File content as of revision 44:9d12223b78ff:

#ifndef SOCKET_H_
#define SOCKET_H_

#include "MDM.h"

/** Socket file descriptor and select wrapper
  */
class Socket {
public:
    Socket() {
        _socket = -1;
        _mdm = MDMParser::getInstance();
        if (_mdm == NULL) {
            error("Socket constructor error: no modem instance available!\r\n");
        }       
    }
    
    void set_blocking(bool blocking, unsigned int timeout=1) { 
        _mdm->socketSetBlocking(_socket, blocking ? (unsigned int) -1 /* blocking */ : timeout); 
    }
    
    int close() {
        bool ret = false;
        if (_socket >= 0)
        {
            ret = _mdm->socketClose(_socket);
            _mdm->socketFree(_socket);
            _socket = -1;
        }
        return ret ? 0 : -1;
    }
    
    ~Socket() { close(); }
    
protected:
    int _socket;
    MDMParser* _mdm;
};


#endif /* SOCKET_H_ */