Apache Log4cxx  Version 1.8.0
datagrampacket.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_DATAGRAM_PACKET
19 #define _LOG4CXX_HELPERS_DATAGRAM_PACKET
20 
21 #include <log4cxx/helpers/object.h>
23 #include <cstddef>
24 
25 namespace LOG4CXX_NS
26 {
27 namespace helpers
28 {
29 
37 class LOG4CXX_EXPORT DatagramPacket : public helpers::Object
38 {
39  private:
40  LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(DatagramPacketPriv, m_priv)
41 
42  public:
47 
48 #if LOG4CXX_ABI_VERSION <= 15
51  DatagramPacket(void* buf, int length);
52 
56  DatagramPacket(void* buf, int length, InetAddressPtr address, int port);
57 
60  DatagramPacket(void* buf, int offset, int length);
61 
65  DatagramPacket(void* buf, int offset, int length, InetAddressPtr address,
66  int port);
67 #else
70  DatagramPacket(void* buf, std::size_t length);
71 
75  DatagramPacket(void* buf, std::size_t length, InetAddressPtr address, int port);
76 
79  DatagramPacket(void* buf, std::size_t offset, std::size_t length);
80 
84  DatagramPacket(void* buf, std::size_t offset, std::size_t length, InetAddressPtr address,
85  int port);
86 #endif
87 
89 
92  InetAddressPtr getAddress() const;
93 
95  void* getData() const;
96 
97 #if LOG4CXX_ABI_VERSION <= 15
100  int getLength() const;
101 
104  int getOffset() const;
105 #else
108  std::size_t getLength() const;
109 
112  std::size_t getOffset() const;
113 #endif
114 
117  int getPort() const;
118 
119  void setAddress(InetAddressPtr address1);
120 
122  void setData(void* buf1);
123 
124 #if LOG4CXX_ABI_VERSION <= 15
126  void setData(void* buf1, int offset1, int length1);
127 
129  void setLength(int length1);
130 #else
132  void setData(void* buf1, std::size_t offset1, std::size_t length1);
133 
135  void setLength(std::size_t length1);
136 #endif
137 
138  void setPort(int port1);
139 
140  private:
141  //
142  // prevent copy and assignment statements
144  DatagramPacket& operator=(const DatagramPacket&);
145 
146 }; // class DatagramPacket
148 } // namespace helpers
149 } // namespace log4cxx
150 
151 #endif // _LOG4CXX_HELPERS_DATAGRAM_PACKET
This class represents a datagram packet.
Definition: datagrampacket.h:38
void setLength(int length1)
Set the length for this packet.
DatagramPacket(void *buf, int offset, int length, InetAddressPtr address, int port)
Constructs a datagram packet for sending packets of length length with offset offset to the specified...
int getLength() const
Returns the length of the data to be sent or the length of the data received.
DatagramPacket(void *buf, int length)
Constructs a DatagramPacket for receiving packets of length length.
DatagramPacket(void *buf, int offset, int length)
Constructs a DatagramPacket for receiving packets of length length, specifying an offset into the buf...
void * getData() const
Returns the data received or the data to be sent.
int getOffset() const
Returns the offset of the data to be sent or the offset of the data received.
int getPort() const
Returns the port number on the remote host to which this datagram is being sent or from which the dat...
InetAddressPtr getAddress() const
Returns the IP address of the machine to which this datagram is being sent or from which the datagram...
void setData(void *buf1)
Set the data buffer for this packet.
void setData(void *buf1, int offset1, int length1)
Set the data buffer for this packet.
void setAddress(InetAddressPtr address1)
DatagramPacket(void *buf, int length, InetAddressPtr address, int port)
Constructs a datagram packet for sending packets of length length to the specified port number on the...
base class for java-like objects.
Definition: object.h:102
LOG4CXX_PTR_DEF(DatagramPacket)
#define LOG4CXX_CAST_ENTRY(Interface)
Definition: object.h:154
#define DECLARE_ABSTRACT_LOG4CXX_OBJECT(object)
Definition: object.h:37
#define END_LOG4CXX_CAST_MAP()
Definition: object.h:148
#define BEGIN_LOG4CXX_CAST_MAP()
Definition: object.h:142