2018-02-22 15:36:35 -08:00
|
|
|
#pragma once
|
|
|
|
#include "stdlib.h"
|
|
|
|
#include "stdint.h"
|
|
|
|
#include "string.h"
|
2018-03-09 17:30:28 -08:00
|
|
|
#include "Printable.h"
|
2018-02-15 07:09:01 -08:00
|
|
|
|
2018-02-22 15:36:14 -08:00
|
|
|
class Print
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
Print() {}
|
|
|
|
virtual size_t write(uint8_t) = 0;
|
2018-02-25 16:55:00 -08:00
|
|
|
size_t write(const char *str) {
|
|
|
|
if (str == NULL) return 0;
|
|
|
|
return write((const uint8_t *)str, strlen(str));
|
2018-02-22 15:36:14 -08:00
|
|
|
}
|
2018-02-22 15:36:35 -08:00
|
|
|
virtual size_t write(const uint8_t *buffer, size_t size);
|
|
|
|
size_t write(const char *buffer, size_t size) {
|
2018-02-22 15:36:14 -08:00
|
|
|
return write((const uint8_t *)buffer, size);
|
|
|
|
}
|
2018-02-22 15:36:35 -08:00
|
|
|
virtual int availableForWrite() { return 0; }
|
|
|
|
|
2018-02-22 15:36:14 -08:00
|
|
|
virtual void flush() {}
|
2018-03-09 17:30:28 -08:00
|
|
|
|
|
|
|
size_t print(const char* str) { return write(str); }
|
|
|
|
size_t print(char c ) { return write(c); }
|
|
|
|
size_t print(int);
|
|
|
|
size_t print(const Printable&);
|
|
|
|
|
|
|
|
size_t println(void);
|
|
|
|
size_t println(const char* );
|
|
|
|
size_t println(char);
|
|
|
|
size_t println(int);
|
|
|
|
size_t println(const Printable&);
|
|
|
|
|
|
|
|
size_t printNumber(unsigned long n, uint8_t base);
|
2018-02-22 15:36:14 -08:00
|
|
|
};
|