Apache Log4cxx
Version 1.8.0
Toggle main menu visibility
Loading...
Searching...
No Matches
socket.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 _LOG4CXX_HELPERS_SOCKET_H
19
#define _LOG4CXX_HELPERS_SOCKET_H
20
21
#include <
log4cxx/helpers/inetaddress.h
>
22
#include <
log4cxx/helpers/pool.h
>
23
24
#if 15 < LOG4CXX_ABI_VERSION
25
#define LOG4CXX_16_CONST const
26
#else
27
#define LOG4CXX_16_CONST
28
#endif
29
30
31
namespace
LOG4CXX_NS
32
{
33
namespace
helpers
34
{
35
class
ByteBuffer;
36
37
class
Socket;
38
LOG4CXX_PTR_DEF
(
Socket
);
39
LOG4CXX_UNIQUE_PTR_DEF
(
Socket
);
40
46
class
LOG4CXX_EXPORT
Socket
:
public
helpers::Object
47
{
48
protected
:
49
LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(SocketPrivate, m_priv)
50
Socket
(LOG4CXX_PRIVATE_PTR(SocketPrivate) priv);
51
52
public:
53
DECLARE_ABSTRACT_LOG4CXX_OBJECT
(
Socket
)
54
BEGIN_LOG4CXX_CAST_MAP
()
55
LOG4CXX_CAST_ENTRY
(
Socket
)
56
END_LOG4CXX_CAST_MAP
()
57
58
virtual ~
Socket
();
59
60
virtual
size_t
write
(
ByteBuffer
&) = 0;
61
62
#if 15 < LOG4CXX_ABI_VERSION
68
virtual
void
setNonBlocking(
bool
newValue) = 0;
69
71
virtual
void
open() = 0;
72
74
virtual
bool
is_open() = 0;
75
#endif
76
78
virtual
void
close
() = 0;
79
81
InetAddressPtr
getInetAddress
()
const
;
82
84
int
getPort
()
const
;
85
87
void
setAttributes
(
const
InetAddressPtr& newAddress,
int
newPort);
88
91
#if LOG4CXX_ABI_VERSION <= 15
92
static
SocketUniquePtr
create
(InetAddressPtr& address,
int
port);
93
static
SocketUniquePtr
create
(
LOG4CXX_16_CONST
InetAddressPtr& address,
int
port,
const
LogString
& concreteClassName);
94
#else
95
static
SocketUniquePtr
create
(
const
InetAddressPtr& address,
int
port,
const
LogString
& concreteClassName = {});
96
#endif
97
private
:
98
Socket
(
const
Socket
&);
99
Socket
& operator=(
const
Socket
&);
100
101
};
102
103
}
// namespace helpers
104
}
// namespace log4cxx
105
106
#if 15 < LOG4CXX_ABI_VERSION
107
#define LOG4CXX_16_VIRTUAL_SPECIFIER override
108
#else
109
#define LOG4CXX_16_VIRTUAL_SPECIFIER
110
#endif
111
112
#endif
// _LOG4CXX_HELPERS_SOCKET_H
log4cxx::helpers::ByteBuffer
An area of memory and a cursor into that memory.
Definition
bytebuffer.h:41
log4cxx::helpers::Object
base class for java-like objects.
Definition
object.h:102
log4cxx::helpers::Socket
Abstract base class for an outgoing socket connection.
Definition
socket.h:47
log4cxx::helpers::Socket::getPort
int getPort() const
Returns the value of this socket's port field.
log4cxx::helpers::Socket::setAttributes
void setAttributes(const InetAddressPtr &newAddress, int newPort)
Use newAddress and newPort as the destination.
log4cxx::helpers::Socket::create
static SocketUniquePtr create(LOG4CXX_16_CONST InetAddressPtr &address, int port, const LogString &concreteClassName)
log4cxx::helpers::Socket::create
static SocketUniquePtr create(InetAddressPtr &address, int port)
Create a concrete instance of this class.
log4cxx::helpers::Socket::close
virtual void close()=0
Close this socket.
log4cxx::helpers::Socket::getInetAddress
InetAddressPtr getInetAddress() const
Returns the value of this socket's address field.
log4cxx::helpers::Socket::write
virtual size_t write(ByteBuffer &)=0
log4cxx::helpers::Socket::Socket
Socket(LOG4CXX_PRIVATE_PTR(SocketPrivate) priv)
inetaddress.h
log4cxx::helpers::LOG4CXX_PTR_DEF
LOG4CXX_PTR_DEF(Object)
log4cxx::helpers::LOG4CXX_UNIQUE_PTR_DEF
LOG4CXX_UNIQUE_PTR_DEF(DatagramSocket)
log4cxx::LogString
std::basic_string< logchar > LogString
Definition
logstring.h:60
LOG4CXX_CAST_ENTRY
#define LOG4CXX_CAST_ENTRY(Interface)
Definition
object.h:154
DECLARE_ABSTRACT_LOG4CXX_OBJECT
#define DECLARE_ABSTRACT_LOG4CXX_OBJECT(object)
Definition
object.h:37
END_LOG4CXX_CAST_MAP
#define END_LOG4CXX_CAST_MAP()
Definition
object.h:148
BEGIN_LOG4CXX_CAST_MAP
#define BEGIN_LOG4CXX_CAST_MAP()
Definition
object.h:142
LOG4CXX_16_CONST
#define LOG4CXX_16_CONST
Definition
outputstreamwriter.h:28
pool.h
src
main
include
log4cxx
helpers
socket.h
Generated by
1.17.0 on
SITE_PUBLISHED_DATE
Copyright © 2017-2026
Apache Software Foundation
. Apache, Chainsaw, log4cxx, Log4j, Log4net, log4php and the Apache logo are
trademarks or registered trademarks
of The Apache Software Foundation.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Privacy Policy
.