A C client library for the player server. More...

Detailed Description

A C client library for the player server.

libplayerc is a client library for the player server. It is written in C to maximize portability, and in the expectation that users will write bindings for other languages (such as Python and Java) against this library; Python bindings are already available.

Be sure to check out the example.

The data modes section is important reading for all client writers.

libplayerc was originally written by Andrew Howard and is maintained by the Player Project. Subsequent contributors include Brian Gerkey, Geoffrey Biggs, Richard Vaughan.

Modules

 libplayerc example
 An example.
 
 Client Data Modes
 Describes the data modes used for delivering data from the server to the client.
 
 Utility and error-handling
 Some helper functions.
 
 Multi-Client object
 The multi-client object manages connections to multiple server in parallel.
 
 Client API
 The client object manages the connection with the Player server; it is responsible for reading new data, setting data transmission modes and so on.
 
 Device API
 The device object provides a common interface to the functionality that is shared by all device proxies (in OOP parlance, it is a base class).
 
 Device proxies
 Each interface has a corresponding proxy.
 

Macros

#define MIN(a, b)   ((a < b) ? a : b)
 
#define MAX(a, b)   ((a > b) ? a : b)
 
#define PLAYERC_EXPORT
 
#define PLAYERC_OPEN_MODE   PLAYER_OPEN_MODE
 The device access modes.
 
#define PLAYERC_CLOSE_MODE   PLAYER_CLOSE_MODE
 
#define PLAYERC_ERROR_MODE   PLAYER_ERROR_MODE
 
#define PLAYERC_DATAMODE_PUSH   PLAYER_DATAMODE_PUSH
 The valid data delivery modes.
 
#define PLAYERC_DATAMODE_PULL   PLAYER_DATAMODE_PULL
 
#define PLAYERC_TRANSPORT_TCP   1
 The valid transports.
 
#define PLAYERC_TRANSPORT_UDP   2
 
#define PLAYERC_QUEUE_RING_SIZE   512