activemq-cpp-3.9.5
BlockingByteArrayInputStream.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _DECAF_IO_BLOCKINGBYTEARRAYINPUTSTREAM_H_
19#define _DECAF_IO_BLOCKINGBYTEARRAYINPUTSTREAM_H_
20
22#include <vector>
23
24namespace decaf{
25namespace io{
26
32 class DECAF_API BlockingByteArrayInputStream : public InputStream {
33 private:
34
38 std::vector<unsigned char> buffer;
39
43 std::vector<unsigned char>::const_iterator pos;
44
49 bool closing;
50
51 private:
52
53 BlockingByteArrayInputStream(const BlockingByteArrayInputStream&);
54 BlockingByteArrayInputStream& operator=(const BlockingByteArrayInputStream&);
55
56 public:
57
62
67 BlockingByteArrayInputStream(const unsigned char* buffer, int bufferSize);
68
70
74 virtual void setByteArray(const unsigned char* buffer, int bufferSize);
75
79 virtual int available() const;
80
84 virtual void close();
85
89 virtual long long skip(long long num);
90
91 protected:
92
93 virtual int doReadByte();
94
95 virtual int doReadArrayBounded(unsigned char* buffer, int size, int offset, int length);
96
97 };
98
99}}
100
101#endif /*_DECAF_IO_BLOCKINGBYTEARRAYINPUTSTREAM_H_*/
BlockingByteArrayInputStream()
Default Constructor - uses a default internal buffer.
virtual void setByteArray(const unsigned char *buffer, int bufferSize)
virtual long long skip(long long num)
Skips over and discards n bytes of data from this input stream.The skip method may,...
virtual int available() const
Indicates the number of bytes available.The default implementation of this methods returns 0....
virtual int doReadArrayBounded(unsigned char *buffer, int size, int offset, int length)
virtual void close()
Closes the InputStream freeing any resources that might have been acquired during the lifetime of thi...
BlockingByteArrayInputStream(const unsigned char *buffer, int bufferSize)
Constructor that initializes the internal buffer.
#define DECAF_API
Definition Config.h:29
Definition BlockingByteArrayInputStream.h:25
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition AprPool.h:25