Unit tests for SmartRest

Dependencies:   C027 SmartRest mbed

Committer:
vwochnik
Date:
Mon Mar 24 10:12:45 2014 +0000
Revision:
0:789029e49ea1
fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vwochnik 0:789029e49ea1 1 #include <stdlib.h>
vwochnik 0:789029e49ea1 2 #include <stdio.h>
vwochnik 0:789029e49ea1 3 #include <string.h>
vwochnik 0:789029e49ea1 4 #include "BufferedDataSource.h"
vwochnik 0:789029e49ea1 5
vwochnik 0:789029e49ea1 6 BufferedDataSource::BufferedDataSource()
vwochnik 0:789029e49ea1 7 {
vwochnik 0:789029e49ea1 8 clear();
vwochnik 0:789029e49ea1 9 }
vwochnik 0:789029e49ea1 10
vwochnik 0:789029e49ea1 11 void BufferedDataSource::set(char *buf, size_t length)
vwochnik 0:789029e49ea1 12 {
vwochnik 0:789029e49ea1 13 _data = _ptr = buf;
vwochnik 0:789029e49ea1 14 _length = length;
vwochnik 0:789029e49ea1 15 }
vwochnik 0:789029e49ea1 16
vwochnik 0:789029e49ea1 17 void BufferedDataSource::set(const char *str)
vwochnik 0:789029e49ea1 18 {
vwochnik 0:789029e49ea1 19 _data = _ptr = (char *)str;
vwochnik 0:789029e49ea1 20 _length = strlen(str);
vwochnik 0:789029e49ea1 21 }
vwochnik 0:789029e49ea1 22
vwochnik 0:789029e49ea1 23 void BufferedDataSource::clear()
vwochnik 0:789029e49ea1 24 {
vwochnik 0:789029e49ea1 25 _data = _ptr = NULL;
vwochnik 0:789029e49ea1 26 _length = 0;
vwochnik 0:789029e49ea1 27 }
vwochnik 0:789029e49ea1 28
vwochnik 0:789029e49ea1 29 bool BufferedDataSource::exhausted()
vwochnik 0:789029e49ea1 30 {
vwochnik 0:789029e49ea1 31 return (_ptr - _data) == _length;
vwochnik 0:789029e49ea1 32 }
vwochnik 0:789029e49ea1 33
vwochnik 0:789029e49ea1 34 char BufferedDataSource::read()
vwochnik 0:789029e49ea1 35 {
vwochnik 0:789029e49ea1 36 if (exhausted())
vwochnik 0:789029e49ea1 37 return 0;
vwochnik 0:789029e49ea1 38 return *_ptr++;
vwochnik 0:789029e49ea1 39 }
vwochnik 0:789029e49ea1 40
vwochnik 0:789029e49ea1 41 uint8_t BufferedDataSource::status()
vwochnik 0:789029e49ea1 42 {
vwochnik 0:789029e49ea1 43 if (exhausted())
vwochnik 0:789029e49ea1 44 return DS_STATUS_CLOSED;
vwochnik 0:789029e49ea1 45 return DS_STATUS_OK;
vwochnik 0:789029e49ea1 46 }
vwochnik 0:789029e49ea1 47