Forked version

Fork of M2XStreamClient by AT&T M2X Team

Committer:
citrusbyte
Date:
Thu Oct 24 12:22:33 2013 +0000
Revision:
5:ea68c8980ad8
Initial commit for M2X mbed client library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
citrusbyte 5:ea68c8980ad8 1 #include "Print.h"
citrusbyte 5:ea68c8980ad8 2 #include "mbed.h"
citrusbyte 5:ea68c8980ad8 3
citrusbyte 5:ea68c8980ad8 4 #include <stdio.h>
citrusbyte 5:ea68c8980ad8 5 #include <string.h>
citrusbyte 5:ea68c8980ad8 6
citrusbyte 5:ea68c8980ad8 7 size_t Print::write(const uint8_t* buf, size_t size) {
citrusbyte 5:ea68c8980ad8 8 size_t ret = 0;
citrusbyte 5:ea68c8980ad8 9 while (size--) {
citrusbyte 5:ea68c8980ad8 10 ret += write(*buf++);
citrusbyte 5:ea68c8980ad8 11 }
citrusbyte 5:ea68c8980ad8 12 return ret;
citrusbyte 5:ea68c8980ad8 13 }
citrusbyte 5:ea68c8980ad8 14
citrusbyte 5:ea68c8980ad8 15 size_t Print::print(const char* s) {
citrusbyte 5:ea68c8980ad8 16 return write((const uint8_t*)s, strlen(s));
citrusbyte 5:ea68c8980ad8 17 }
citrusbyte 5:ea68c8980ad8 18
citrusbyte 5:ea68c8980ad8 19 size_t Print::print(char c) {
citrusbyte 5:ea68c8980ad8 20 return write(c);
citrusbyte 5:ea68c8980ad8 21 }
citrusbyte 5:ea68c8980ad8 22
citrusbyte 5:ea68c8980ad8 23 size_t Print::print(int n) {
citrusbyte 5:ea68c8980ad8 24 return print((long) n);
citrusbyte 5:ea68c8980ad8 25 }
citrusbyte 5:ea68c8980ad8 26
citrusbyte 5:ea68c8980ad8 27 size_t Print::print(long n) {
citrusbyte 5:ea68c8980ad8 28 char buf[8 * sizeof(long) + 1];
citrusbyte 5:ea68c8980ad8 29 snprintf(buf, sizeof(buf), "%ld", n);
citrusbyte 5:ea68c8980ad8 30 return print(buf);
citrusbyte 5:ea68c8980ad8 31 }
citrusbyte 5:ea68c8980ad8 32
citrusbyte 5:ea68c8980ad8 33 // Digits are ignored for now
citrusbyte 5:ea68c8980ad8 34 size_t Print::print(double n, int digits) {
citrusbyte 5:ea68c8980ad8 35 char buf[65];
citrusbyte 5:ea68c8980ad8 36 snprintf(buf, sizeof(buf), "%g", n);
citrusbyte 5:ea68c8980ad8 37 return print(buf);
citrusbyte 5:ea68c8980ad8 38 }
citrusbyte 5:ea68c8980ad8 39
citrusbyte 5:ea68c8980ad8 40 size_t Print::println(const char* s) {
citrusbyte 5:ea68c8980ad8 41 return print(s) + println();
citrusbyte 5:ea68c8980ad8 42 }
citrusbyte 5:ea68c8980ad8 43
citrusbyte 5:ea68c8980ad8 44 size_t Print::println(char c) {
citrusbyte 5:ea68c8980ad8 45 return print(c) + println();
citrusbyte 5:ea68c8980ad8 46 }
citrusbyte 5:ea68c8980ad8 47
citrusbyte 5:ea68c8980ad8 48 size_t Print::println(int n) {
citrusbyte 5:ea68c8980ad8 49 return print(n) + println();
citrusbyte 5:ea68c8980ad8 50 }
citrusbyte 5:ea68c8980ad8 51
citrusbyte 5:ea68c8980ad8 52 size_t Print::println(long n) {
citrusbyte 5:ea68c8980ad8 53 return print(n) + println();
citrusbyte 5:ea68c8980ad8 54 }
citrusbyte 5:ea68c8980ad8 55
citrusbyte 5:ea68c8980ad8 56 size_t Print::println(double n, int digits) {
citrusbyte 5:ea68c8980ad8 57 return print(n, digits) + println();
citrusbyte 5:ea68c8980ad8 58 }
citrusbyte 5:ea68c8980ad8 59
citrusbyte 5:ea68c8980ad8 60 size_t Print::println() {
citrusbyte 5:ea68c8980ad8 61 return print('\r') + print('\n');
citrusbyte 5:ea68c8980ad8 62 }
citrusbyte 5:ea68c8980ad8 63