Open Lighting Architecture: include/ola/io/InputBuffer.h Source File

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
InputBuffer.h
1/*
2 * This library is free software; you can redistribute it and/or
3 * modify it under the terms of the GNU Lesser General Public
4 * License as published by the Free Software Foundation; either
5 * version 2.1 of the License, or (at your option) any later version.
6 *
7 * This library is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 * Lesser General Public License for more details.
11 *
12 * You should have received a copy of the GNU Lesser General Public
13 * License along with this library; if not, write to the Free Software
14 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15 *
16 * InputBuffer.h
17 * An Abstract base class that represents a block of memory that can be read
18 * from.
19 * Copyright (C) 2012 Simon Newton
20 */
21
22#ifndef INCLUDE_OLA_IO_INPUTBUFFER_H_
23#define INCLUDE_OLA_IO_INPUTBUFFER_H_
24
25#include <stdint.h>
26#include <string>
27
28namespace ola {
29namespace io {
30
34 class InputBufferInterface {
35 public:
36 virtual ~InputBufferInterface() {}
37
43 virtual unsigned int Read(uint8_t *data, unsigned int length) = 0;
44
45 /*
46 * Append up to length bytes of data to the string.
47 * Updates length with the number of bytes read.
48 * @returns the number of bytes read
49 */
50 virtual unsigned int Read(std::string *output, unsigned int length) = 0;
51};
52} // namespace io
53} // namespace ola
54#endif // INCLUDE_OLA_IO_INPUTBUFFER_H_
ola::io::InputBufferInterface
Definition InputBuffer.h:34
ola::io::InputBufferInterface::Read
virtual unsigned int Read(uint8_t *data, unsigned int length)=0
ola::io
Classes for general I/O and event handling.
Definition Descriptor.cpp:49
ola
The namespace containing all OLA symbols.
Definition Credentials.cpp:44