|
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.
1.7.6.1