ARM mbed M2X API Client: The ARM mbed client library is used to send/receive data to/from AT&T's M2X service from mbed LPC1768 microcontrollers.

Dependents:   m2x-demo-all M2X_MTS_ACCEL_DEMO M2X_MTS_Accel M2X_K64F_ACCEL ... more

Revision:
22:4d895e732765
Parent:
21:6878944d2ce2
--- a/Client.cpp	Sat Jan 02 02:29:43 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-#include "Client.h"
-#include "mbed.h"
-
-#include <stdint.h>
-
-Client::Client() : _incnt(0), _outcnt(0), _sock() {
-    _sock.set_blocking(false, 1500);
-}
-
-Client::~Client() {
-}
-
-int Client::connect(const char *host, uint16_t port) {
-  return _sock.connect(host, port) == 0;
-}
-
-size_t Client::write(uint8_t b) {
-  return write(&b, 1);
-}
-
-size_t Client::write(const uint8_t *buf, size_t size) {
-  size_t cnt = 0;
-  while (size) {
-    int tmp = sizeof(_outbuf) - _outcnt;
-    if (tmp > size) tmp = size;
-    memcpy(_outbuf + _outcnt, buf, tmp); 
-    _outcnt += tmp;
-    buf += tmp;
-    size -= tmp;
-    cnt += tmp;
-    // if no space flush it
-    if (_outcnt == sizeof(_outbuf))
-        _flushout();
-  }  
-  return cnt;
-}
-
-void Client::_flushout(void)
-{
-  if (_outcnt > 0) {
-    // NOTE: we know it's dangerous to cast from (const uint8_t *) to (char *),
-    // but we are trying to maintain a stable interface between the Arduino
-    // one and the mbed one. What's more, while TCPSocketConnection has no
-    // intention of modifying the data here, it requires us to send a (char *)
-    // typed data. So we belive it's safe to do the cast here.
-    _sock.send_all(const_cast<char*>((const char*) _outbuf), _outcnt);
-    _outcnt = 0;
-  }
-}
-
-void Client::_fillin(void)
-{
-  int tmp = sizeof(_inbuf) - _incnt;
-  if (tmp) {
-    tmp = _sock.receive_all((char*)_inbuf + _incnt, tmp);
-    if (tmp > 0)
-      _incnt += tmp;
-  }
-}
-
-void Client::flush() {
-  _flushout();
-}
-
-int Client::available() {
-  if (_incnt == 0) {
-    _flushout();
-    _fillin();
-  }
-  return (_incnt > 0) ? 1 : 0;
-}
-
-int Client::read() {
-  uint8_t ch;
-  return (read(&ch, 1) == 1) ? ch : -1;
-}
-
-int Client::read(uint8_t *buf, size_t size) { 
-  int cnt = 0;
-  while (size) {
-    // need more
-    if (size > _incnt) {
-      _flushout();
-      _fillin();
-    } 
-    if (_incnt > 0) {
-      int tmp = _incnt;
-      if (tmp > size) tmp = size;
-      memcpy(buf, _inbuf, tmp);
-      if (tmp != _incnt)
-          memmove(_inbuf, _inbuf + tmp, _incnt - tmp);
-      _incnt -= tmp;
-      size -= tmp;
-      buf += tmp;
-      cnt += tmp;
-    } else // no data
-        break;
-  }
-  return cnt;
-}
-
-void Client::stop() {
-  _sock.close();
-}
-
-uint8_t Client::connected() {
-  return _sock.is_connected() ? 1 : 0;
-}