activemq-cpp-3.9.5
FilterOutputStream.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_FILTEROUTPUTSTREAM_H_
19#define _DECAF_IO_FILTEROUTPUTSTREAM_H_
20
25
26namespace decaf{
27namespace io{
28
50 protected:
51
52 // The output Stream to wrap
54
55 // Indicates if we own the wrapped stream
56 bool own;
57
58 // Indicates that this stream was closed
59 volatile bool closed;
60
61 private:
62
64 FilterOutputStream& operator=(const FilterOutputStream&);
65
66 public:
67
74 FilterOutputStream(OutputStream* outputStream, bool own = false);
75
77
84 virtual void flush();
85
92 virtual void close();
93
100 virtual std::string toString() const;
101
102 protected:
103
104 virtual void doWriteByte(unsigned char value);
105
106 virtual void doWriteArray(const unsigned char* buffer, int size);
107
108 virtual void doWriteArrayBounded(const unsigned char* buffer, int size, int offset, int length);
109
110 protected:
111
115 virtual bool isClosed() const;
116
117 };
118
119}}
120
121#endif /*_DECAF_IO_FILTEROUTPUTSTREAM_H_*/
This class is the superclass of all classes that filter output streams.
Definition: FilterOutputStream.h:49
bool own
Definition: FilterOutputStream.h:56
virtual void doWriteArrayBounded(const unsigned char *buffer, int size, int offset, int length)
virtual bool isClosed() const
OutputStream * outputStream
Definition: FilterOutputStream.h:53
virtual void doWriteByte(unsigned char value)
virtual void close()
Closes this object and deallocates the appropriate resources.The object is generally no longer usable...
virtual std::string toString() const
Output a String representation of this object.The default version of this method just prints the Clas...
virtual void doWriteArray(const unsigned char *buffer, int size)
volatile bool closed
Definition: FilterOutputStream.h:59
FilterOutputStream(OutputStream *outputStream, bool own=false)
Constructor, creates a wrapped output stream.
virtual void flush()
Flushes this stream by writing any buffered output to the underlying stream.The default implementatio...
Base interface for any class that wants to represent an output stream of bytes.
Definition: OutputStream.h:39
#define DECAF_API
Definition: Config.h:29
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition: AprPool.h:25