LibreOffice: osl::SocketAddr Class Reference

LibreOffice LibreOffice 25.8 SDK C/C++ API Reference

Loading...
Searching...
No Matches
osl::SocketAddr Class Reference

The class should be understood as a reference to a socket address handle (struct sockaddr). More...

`#include <socket_decl.hxx>`

## Public Member Functions
| SocketAddr ()
| Creates socket address of unknown type.
| SocketAddr (const SocketAddr &Addr)
| Copy constructor.
| SocketAddr (const oslSocketAddr Addr, __osl_socket_NoCopy nocopy)
| The SocketAddr takes over the responsibility of the handle (which means that the handle gets destructed by the destructor of this reference).
| SocketAddr (oslSocketAddr Addr)
| Copyconstructs the oslSocketAddr handle.
| SocketAddr (const ::rtl::OUString &strAddrOrHostName, sal_Int32 nPort)
| TCP/IP-specific constructor.
| ~SocketAddr ()
| destroys underlying oslSocketAddress
bool | is () const
| Checks if the SocketAddr was created successful.
inline ::rtl::OUString | getHostname (oslSocketResult *pResult=NULL) const
| Converts the address to a (human readable) domain-name.
bool | setHostname (const ::rtl::OUString &sDottedIpOrHostname)
| Sets the IP address or hostname of the SocketAddress.
sal_Int32 | getPort () const
| Returns the port number of the address.
bool | setPort (sal_Int32 nPort)
| Sets the port number of the address.
bool | setAddr (const ::rtl::ByteSequence &address)
| Sets the address of the underlying socket address struct in network byte order.
inline ::rtl::ByteSequence | getAddr (oslSocketResult *pResult=NULL) const
| Returns the address of the underlying socket in network byte order.
SocketAddr & | operator= (oslSocketAddr Addr)
| assign the handle to this reference.
SocketAddr & | operator= (const SocketAddr &Addr)
SocketAddr & | assign (oslSocketAddr Addr, __osl_socket_NoCopy nocopy)
| Assigns the socket addr without copyconstructing it.
bool | operator== (oslSocketAddr Addr) const
| Returns true if the underlying handle is identical to the Addr handle.
bool | operator== (const SocketAddr &Addr) const
| Returns true if the underlying handle is identical to the Addr handle.
oslSocketAddr | getHandle () const
| Returns the underlying SocketAddr handle without copyconstructing it.

## Static Public Member Functions
static inline ::rtl::OUString | getLocalHostname (oslSocketResult *pResult=NULL)
| Get the hostname for the local interface.
static void | resolveHostname (const ::rtl::OUString &strHostName, SocketAddr &Addr)
| Tries to find an address for a host.
static sal_Int32 | getServicePort (const ::rtl::OUString &strServiceName, const ::rtl::OUString &strProtocolName=::rtl::OUString("tcp"))
| Tries to find the port associated with the given service/protocol- pair (e.g.

## Protected Attributes
oslSocketAddr | m_handle

## Detailed Description

The class should be understood as a reference to a socket address handle (struct sockaddr).

The handle is mutable.

## Constructor & Destructor Documentation

## ◆ SocketAddr() [1/5]

osl::SocketAddr::SocketAddr | ( |  | ) |
| inline

Creates socket address of unknown type.

## ◆ SocketAddr() [2/5]

osl::SocketAddr::SocketAddr | ( | const SocketAddr & | Addr | ) |
| inline

Copy constructor.

## ◆ SocketAddr() [3/5]

osl::SocketAddr::SocketAddr | ( | const oslSocketAddr | Addr,
|  | __osl_socket_NoCopy | nocopy )
| inline

The SocketAddr takes over the responsibility of the handle (which means that the handle gets destructed by the destructor of this reference).

Parameters

  Addr | a handle
  nocopy | use SAL_NO_COPY

## ◆ SocketAddr() [4/5]

osl::SocketAddr::SocketAddr | ( | oslSocketAddr | Addr | ) |
| inline

Copyconstructs the oslSocketAddr handle.

Parameters

  Addr | a handle

## ◆ SocketAddr() [5/5]

osl::SocketAddr::SocketAddr | ( | const ::rtl::OUString & | strAddrOrHostName,
|  | sal_Int32 | nPort )
| inline

TCP/IP-specific constructor.

Parameters

  strAddrOrHostName | strAddrOrHostName hostname or dotted ip-number of the network interface, the socket shall be created on.
  nPort | tcp-ip port number

## ◆ ~SocketAddr()

osl::SocketAddr::~SocketAddr | ( |  | ) |
| inline

destroys underlying oslSocketAddress

## Member Function Documentation

## ◆ assign()

SocketAddr & osl::SocketAddr::assign | ( | oslSocketAddr | Addr,
|  | __osl_socket_NoCopy | nocopy )
| inline

Assigns the socket addr without copyconstructing it.

Parameters

  Addr | the socket address.
  nocopy | use SAL_NO_COPY

## ◆ getAddr()

rtl::ByteSequence osl::SocketAddr::getAddr | ( | oslSocketResult * | pResult = NULL | ) | const
| inline

Returns the address of the underlying socket in network byte order.

## ◆ getHandle()

oslSocketAddr osl::SocketAddr::getHandle | ( |  | ) | const
| inline

Returns the underlying SocketAddr handle without copyconstructing it.

## ◆ getHostname()

rtl::OUString osl::SocketAddr::getHostname | ( | oslSocketResult * | pResult = NULL | ) | const
| inline

Converts the address to a (human readable) domain-name.

Parameters

  [out] | pResult | value of 0 if you are not interested in errors, otherwise *pResult contains an error code on failure or osl_Socket_Ok on success

Returns
  the hostname of this SocketAddr or an empty string on failure.

See also
  osl_getHostnameOfSocketAddr

## ◆ getLocalHostname()

rtl::OUString osl::SocketAddr::getLocalHostname | ( | oslSocketResult * | pResult = NULL | ) |
| inlinestatic

Get the hostname for the local interface.

Parameters

  pResult | after the call *pResult contains osl_Socket_Ok on success or an error on failure.

Returns
  the hostname

## ◆ getPort()

sal_Int32 osl::SocketAddr::getPort | ( |  | ) | const
| inline

Returns the port number of the address.

Returns
  the port in host-byte order or OSL_INVALID_PORT on errors.

## ◆ getServicePort()

sal_Int32 osl::SocketAddr::getServicePort | ( | const ::rtl::OUString & | strServiceName,
|  | const ::rtl::OUString & | strProtocolName = ::rtl::OUString("tcp") )
| inlinestatic

Tries to find the port associated with the given service/protocol- pair (e.g.

"ftp"/"tcp").

Returns
  the port number in host-byte order or `OSL_INVALID_PORT` if no service/protocol pair could be found.

## ◆ is()

bool osl::SocketAddr::is | ( |  | ) | const
| inline

Checks if the SocketAddr was created successful.

Return values

  true | if there is a valid underlying handle
  false | no valid underlying handle

## ◆ operator=() [1/2]

SocketAddr & osl::SocketAddr::operator= | ( | const SocketAddr & | Addr | ) |
| inline

## ◆ operator=() [2/2]

SocketAddr & osl::SocketAddr::operator= | ( | oslSocketAddr | Addr | ) |
| inline

assign the handle to this reference.

The previous handle is released.

## ◆ operator==() [1/2]

bool osl::SocketAddr::operator== | ( | const SocketAddr & | Addr | ) | const
| inline

Returns true if the underlying handle is identical to the Addr handle.

## ◆ operator==() [2/2]

bool osl::SocketAddr::operator== | ( | oslSocketAddr | Addr | ) | const
| inline

Returns true if the underlying handle is identical to the Addr handle.

## ◆ resolveHostname()

void osl::SocketAddr::resolveHostname | ( | const ::rtl::OUString & | strHostName,
|  | SocketAddr & | Addr )
| inlinestatic

Tries to find an address for a host.

See also
  osl_resolveHostname()

Parameters

  strHostName | hostname
  Addr | A newly created socket-address or 0 if the name could not be found.

## ◆ setAddr()

bool osl::SocketAddr::setAddr | ( | const ::rtl::ByteSequence & | address | ) |
| inline

Sets the address of the underlying socket address struct in network byte order.

Return values

  true | success
  false | failure

## ◆ setHostname()

bool osl::SocketAddr::setHostname | ( | const ::rtl::OUString & | sDottedIpOrHostname | ) |
| inline

Sets the IP address or hostname of the SocketAddress.

Parameters

  [in] | sDottedIpOrHostname | IP address or hostname

Return values

  true | success
  false | failure

## ◆ setPort()

bool osl::SocketAddr::setPort | ( | sal_Int32 | nPort | ) |
| inline

Sets the port number of the address.

Parameters

  [in] | nPort | port number

Return values

  true | success
  false | failure

## Member Data Documentation

## ◆ m_handle

oslSocketAddr osl::SocketAddr::m_handle
| protected

The documentation for this class was generated from the following files:

- osl/socket_decl.hxx
- osl/socket.hxx