activemq-cpp-3.9.5
OpenSSLSocketOutputStream.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_INTERNAL_NET_SSL_OPENSSL_OPENSSLSOCKETOUTPUTSTREAM_H_
19#define _DECAF_INTERNAL_NET_SSL_OPENSSL_OPENSSLSOCKETOUTPUTSTREAM_H_
20
21#include <decaf/util/Config.h>
22
24
25namespace decaf {
26namespace internal {
27namespace net {
28namespace ssl {
29namespace openssl {
30
31 class OpenSSLSocket;
32
38 class DECAF_API OpenSSLSocketOutputStream : public decaf::io::OutputStream {
39 private:
40
41 OpenSSLSocket* socket;
42 volatile bool closed;
43
44 private:
45
46 OpenSSLSocketOutputStream( const OpenSSLSocketOutputStream& );
47 OpenSSLSocketOutputStream& operator= ( const OpenSSLSocketOutputStream& );
48
49 public:
50
52
54
55 virtual void close();
56
57 protected:
58
59 virtual void doWriteByte( unsigned char c );
60
61 virtual void doWriteArrayBounded( const unsigned char* buffer, int size, int offset, int length );
62
63 };
64
65}}}}}
66
67#endif /* _DECAF_INTERNAL_NET_SSL_OPENSSL_OPENSSLSOCKETOUTPUTSTREAM_H_ */
Wraps a a Normal Socket object and extends or overrides functions in that class to make use of the Op...
Definition OpenSSLSocket.h:43
virtual void doWriteArrayBounded(const unsigned char *buffer, int size, int offset, int length)
virtual void close()
Closes this object and deallocates the appropriate resources.The object is generally no longer usable...
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
Definition OpenSSLContextSpi.h:29
Definition DefaultSSLContext.h:28
Definition DefaultServerSocketFactory.h:27
Definition AprPool.h:26
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition AprPool.h:25