libshevek
|
Use a unix-domain, tcp or avahi network connection with shevek::fd. More...
#include <socket.hh>
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. |
Use a unix-domain, tcp or avahi network connection with shevek::fd.
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.