#ifndef __GAM_CONNECTION_H__
#define __GAM_CONNECTION_H__ 1
#include <glib.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* Data associated to connections in the gamin server
*/
typedef struct GamConnData GamConnData;
typedef GamConnData *GamConnDataPtr;
/**
* the different states the connection can be in
*/
typedef enum {
GAM_STATE_ERROR = -1, /* error condition */
GAM_STATE_AUTH, /* authenthication needed */
GAM_STATE_OKAY, /* normal state */
GAM_STATE_CLOSED /* the connection was closed by server */
} GamConnState;
int gam_connections_init (void);
int gam_connections_close (void);
void gam_schedule_server_timeout (void);
GamConnDataPtr gam_connection_new (GMainLoop *loop,
GIOChannel *source);
int gam_connection_set_pid (GamConnDataPtr conn,
int pid);
int gam_connection_exists (GamConnDataPtr conn);
int gam_connection_close (GamConnDataPtr conn);
int gam_connection_get_fd (GamConnDataPtr conn);
int gam_connection_get_pid (GamConnDataPtr conn);
gchar * gam_connection_get_pidname (GamConnDataPtr conn);
GamConnState gam_connection_get_state(GamConnDataPtr conn);
int gam_connection_get_data (GamConnDataPtr conn,
char **data,
int *size);
int gam_connection_data (GamConnDataPtr conn,
int len);
int gam_send_event (GamConnDataPtr conn,
int reqno,
int event,
const char *path,
int len);
void gam_queue_event (GamConnDataPtr conn,
int reqno,
int event,
const char *path,
int len);
int gam_send_ack (GamConnDataPtr conn,
int reqno,
const char *path,
int len);
void gam_connections_debug (void);
#ifdef __cplusplus
}
#endif
#endif /* __GAM_CONNECTION_H__ */
syntax highlighted by Code2HTML, v. 0.9.1