Open Lighting Architecture 0.10.9
Loading...
Searching...
No Matches
OutputBuffer.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 * OutputBuffer.h
17 * An Abstract base class that represents a block of memory that can be written
18 * to.
19 * Copyright (C) 2012 Simon Newton
20 */
21
22#ifndef INCLUDE_OLA_IO_OUTPUTBUFFER_H_
23#define INCLUDE_OLA_IO_OUTPUTBUFFER_H_
24
25#include <stdint.h>
26
27namespace ola {
28namespace io {
29
37 public:
38 virtual ~OutputBufferInterface() {}
39
40 // Returns true if this OutputBuffer is empty.
41 virtual bool Empty() const = 0;
42
43 // Return the amount of data in the OutputBuffer
44 virtual unsigned int Size() const = 0;
45
46 // Append some data to this OutputBuffer
47 virtual void Write(const uint8_t *data, unsigned int length) = 0;
48};
49} // namespace io
50} // namespace ola
51#endif // INCLUDE_OLA_IO_OUTPUTBUFFER_H_
Definition OutputBuffer.h:36
The namespace containing all OLA symbols.
Definition Credentials.cpp:44