Apache Log4cxx
Version 1.7.0
Toggle main menu visibility
Loading...
Searching...
No Matches
charsetencoder.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_CHARSETENCODER_H
19
#define _LOG4CXX_HELPERS_CHARSETENCODER_H
20
21
#include <
log4cxx/helpers/object.h
>
22
#include <
log4cxx/helpers/pool.h
>
23
24
namespace
LOG4CXX_NS
25
{
26
27
namespace
helpers
28
{
29
class
ByteBuffer;
30
class
CharsetEncoder;
31
LOG4CXX_PTR_DEF
(
CharsetEncoder
);
32
37
class
LOG4CXX_EXPORT
CharsetEncoder
:
public
Object
38
{
39
public
:
40
DECLARE_ABSTRACT_LOG4CXX_OBJECT
(
CharsetEncoder
)
41
BEGIN_LOG4CXX_CAST_MAP
()
42
LOG4CXX_CAST_ENTRY
(
CharsetEncoder
)
43
END_LOG4CXX_CAST_MAP
()
44
45
protected
:
49
CharsetEncoder
();
50
51
public
:
55
virtual
~CharsetEncoder
();
59
static
CharsetEncoderPtr
getDefaultEncoder
();
60
69
static
CharsetEncoderPtr
getEncoder
(
const
LogString
& charset);
70
71
75
static
CharsetEncoderPtr
getUTF8Encoder
();
76
82
static
void
encode
(CharsetEncoderPtr& enc,
83
const
LogString
& src,
84
LogString::const_iterator& iter,
85
ByteBuffer
& dst);
86
96
virtual
log4cxx_status_t
encode
(
const
LogString
& in,
97
LogString::const_iterator& iter,
98
ByteBuffer
& out) = 0;
99
103
virtual
void
reset
();
104
108
virtual
void
flush
(
ByteBuffer
& out);
109
114
inline
static
bool
isError
(log4cxx_status_t stat)
115
{
116
return
(stat != 0);
117
}
118
123
static
bool
isTriviallyCopyable
(
const
LogString
& src,
const
CharsetEncoderPtr& enc);
124
125
126
private
:
130
CharsetEncoder
(
const
CharsetEncoder
&);
134
CharsetEncoder
& operator=(
const
CharsetEncoder
&);
135
136
static
CharsetEncoder
* createDefaultEncoder();
137
};
138
139
}
// namespace helpers
140
141
}
//namespace log4cxx
142
143
#endif
//_LOG4CXX_HELPERS_CHARSETENCODER_H
log4cxx::helpers::ByteBuffer
A byte buffer.
Definition
bytebuffer.h:34
log4cxx::helpers::CharsetEncoder
An engine to transform LogStrings into bytes for the specific character set.
Definition
charsetencoder.h:38
log4cxx::helpers::CharsetEncoder::reset
virtual void reset()
Resets any internal state.
log4cxx::helpers::CharsetEncoder::CharsetEncoder
CharsetEncoder()
Protected constructor.
log4cxx::helpers::CharsetEncoder::~CharsetEncoder
virtual ~CharsetEncoder()
Destructor.
log4cxx::helpers::CharsetEncoder::encode
virtual log4cxx_status_t encode(const LogString &in, LogString::const_iterator &iter, ByteBuffer &out)=0
Encodes as many characters from the input string as possible to the output buffer.
log4cxx::helpers::CharsetEncoder::getUTF8Encoder
static CharsetEncoderPtr getUTF8Encoder()
Get encoder for UTF-8.
log4cxx::helpers::CharsetEncoder::flush
virtual void flush(ByteBuffer &out)
Flushes the encoder.
log4cxx::helpers::CharsetEncoder::isError
static bool isError(log4cxx_status_t stat)
Determines if the return value from encode indicates an unconvertable character.
Definition
charsetencoder.h:114
log4cxx::helpers::CharsetEncoder::encode
static void encode(CharsetEncoderPtr &enc, const LogString &src, LogString::const_iterator &iter, ByteBuffer &dst)
Encodes a string replacing unmappable characters with escape sequences.
log4cxx::helpers::CharsetEncoder::getEncoder
static CharsetEncoderPtr getEncoder(const LogString &charset)
Get encoder for specified character set.
log4cxx::helpers::CharsetEncoder::getDefaultEncoder
static CharsetEncoderPtr getDefaultEncoder()
Get encoder for default charset.
log4cxx::helpers::CharsetEncoder::isTriviallyCopyable
static bool isTriviallyCopyable(const LogString &src, const CharsetEncoderPtr &enc)
Is the data of src unchanged by enc.
log4cxx::helpers::Object
base class for java-like objects.
Definition
object.h:102
log4cxx::helpers::LOG4CXX_PTR_DEF
LOG4CXX_PTR_DEF(Object)
log4cxx::LogString
std::basic_string< logchar > LogString
Definition
logstring.h:60
object.h
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
pool.h
src
main
include
log4cxx
helpers
charsetencoder.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
.