libshevek

- Main Page
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
shevek::socket Class Reference

Use a unix-domain, tcp or avahi network connection with shevek::fd. More...

`#include <socket.hh>`

Inheritance diagram for shevek::socket:

List of all members.

## Public Types

typedef sigc::signal0< void > | disconnect_t
| Disconnect signal type.
typedef sigc::slot0< void > | listen_t
| New connection callback type.

## Public Member Functions

void | listen_unix (std::string const &file, listen_t cb, unsigned queue=10)
| Listen for new connections on a UNIX socket. Use listen instead.
void | listen_tcp (std::string const &service, listen_t cb, unsigned queue=10)
| Listen for new connections on a TCP socket. Use listen instead.
void | listen_avahi (std::string const &service, Glib::ustring const &protocol, Glib::ustring const &name, listen_t cb, unsigned queue=10)
| Listen for new connections on a TCP socket, and register it with avahi. Use listen instead.
void | listen (std::string const &port, listen_t cb, unsigned queue=10)
| Listen for new connections.
void | connect_unix (std::string const &unix_name)
| Connect to a UNIX socket. Use connect instead.
void | connect_tcp (std::string const &host, std::string const &service)
| Connect to a TCP socket. Use connect instead.
void | connect_avahi (avahi::browser::owner const &target, avahi::browser::details const &details=avahi::browser::details())
| Connect to an avahi TCP socket. Use connect instead.
void | connect (std::string const &port)
| Connect to a socket.
void | accept (Glib::RefPtr< socket > sock)
| Accept a connection (only allowed on a listening socket).
std::string | get_peer_info (bool numeric=false) const
| Get information about the other side of a connection.
std::string | get_own_info (bool numeric=false) const
| Get info about our side of the connection.
disconnect_t | signal_disconnect ()
| Schedule a function to be called when the socket is disconnected.
void | disconnect ()
| Disconnect the socket without reconnecting.

## Static Public Member Functions

static Glib::RefPtr< socket > | create (Glib::RefPtr< Glib::MainContext > main=Glib::MainContext::get_default())
| Create a new socket.

## Protected Member Functions

| socket (Glib::RefPtr< Glib::MainContext > main)
| Constructor.
virtual | ~socket ()
| Destructor.

## Detailed Description

Use a unix-domain, tcp or avahi network connection with shevek::fd.

## Member Function Documentation

void shevek::socket::connect | ( | std::string const & | port | ) |

Connect to a socket.

This is the preferred function to use. Format: UNIX domain sockets: anything with at least one / in it. TCP: hostname:port, where the hostname and colon may be omitted, and the port may be a service or number. Avahi: name|protocol, where name is the application name, and protocol the connection type.

void shevek::socket::listen | ( | std::string const & | port,
|  | listen_t | cb,
|  | unsigned | queue = `10`
| ) |  |

Listen for new connections.

This is the preferred function to use. Format: UNIX domain sockets: anything with at least one / in it. TCP services: the name. TCP port numbers: the number. For TCP, appending |name|protocol, where name is the application name and protocol the connection type.

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

- src/socket.hh