libshevek
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:
shevek::fd shevek::refbase shevek::telnet

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< socketcreate (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: