Coverage Report

Created: 2026-01-09 06:24

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/logging-log4cxx/src/main/include/log4cxx/helpers/inetaddress.h
Line
Count
Source
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_HELPER_INETADDRESS_H
19
#define _LOG4CXX_HELPER_INETADDRESS_H
20
21
#include <log4cxx/helpers/object.h>
22
#include <log4cxx/logstring.h>
23
#include <vector>
24
#include <log4cxx/helpers/exception.h>
25
26
namespace LOG4CXX_NS
27
{
28
namespace helpers
29
{
30
class UnknownHostException : public Exception
31
{
32
  public:
33
    UnknownHostException(const LogString& msg);
34
    UnknownHostException(const UnknownHostException& src);
35
    UnknownHostException& operator=(const UnknownHostException& src);
36
};
37
38
39
class InetAddress;
40
LOG4CXX_PTR_DEF(InetAddress);
41
LOG4CXX_LIST_DEF(InetAddressList, InetAddressPtr);
42
43
class LOG4CXX_EXPORT InetAddress : public Object
44
{
45
  public:
46
    DECLARE_ABSTRACT_LOG4CXX_OBJECT(InetAddress)
47
0
    BEGIN_LOG4CXX_CAST_MAP()
48
0
    LOG4CXX_CAST_ENTRY(InetAddress)
49
0
    END_LOG4CXX_CAST_MAP()
50
51
    InetAddress(const LogString& hostName, const LogString& hostAddr);
52
53
    ~InetAddress();
54
55
    /** Determines all the IP addresses of a host, given the host's name.
56
    */
57
    static InetAddressList getAllByName(const LogString& host);
58
59
    /** Determines the IP address of a host, given the host's name.
60
    */
61
    static InetAddressPtr getByName(const LogString& host);
62
63
    /** Returns the IP address string "%d.%d.%d.%d".
64
    */
65
    LogString getHostAddress() const;
66
67
    /** Gets the host name for this IP address.
68
    */
69
    LogString getHostName() const;
70
71
    /** Returns the local host.
72
    */
73
    static InetAddressPtr  getLocalHost();
74
75
    /** Returns an InetAddress which can be used as any
76
     *  address, for example when listening on a port from any
77
     *  remote addresss.
78
     */
79
    static InetAddressPtr anyAddress();
80
81
    /** Converts this IP address to a String.
82
    */
83
    LogString toString() const;
84
85
  private:
86
    LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(InetAddressPrivate, m_priv)
87
}; // class InetAddress
88
}  // namespace helpers
89
} // namespace log4cxx
90
91
92
#endif // _LOG4CXX_HELPER_INETADDRESS_H
93