static void _eventd_relay_reconnect_callback(LibeventdReconnectHandler *handler, gpointer user_data) { EventdRelayServer *server = user_data; eventd_relay_server_start(server, FALSE); }
static void _eventd_relay_start_each(gpointer key, gpointer data, gpointer user_data) { if ( data == NULL ) return; eventd_relay_server_start(data); }
static gboolean _eventd_relay_reconnect(gpointer user_data) { EventdRelayServer *server = user_data; server->connection_timeout_id = 0; eventd_relay_server_start(server); return FALSE; }
static EventdPluginCommandStatus _eventd_relay_control_command(EventdPluginContext *context, guint64 argc, const gchar * const *argv, gchar **status) { EventdRelayServer *server; EventdPluginCommandStatus r = EVENTD_PLUGIN_COMMAND_STATUS_OK; if ( g_strcmp0(argv[0], "connect") == 0 ) { if ( argc < 2 ) { *status = g_strdup("No server specified"); r = EVENTD_PLUGIN_COMMAND_STATUS_COMMAND_ERROR; } else if ( ( server = g_hash_table_lookup(context->servers, argv[1]) ) == NULL ) { *status = g_strdup_printf("No such server '%s'", argv[1]); r = EVENTD_PLUGIN_COMMAND_STATUS_EXEC_ERROR; } else { eventd_relay_server_start(server); *status = g_strdup_printf("Connected to server '%s'", argv[1]); } } else if ( g_strcmp0(argv[0], "disconnect") == 0 ) { if ( argc < 2 ) { *status = g_strdup("No server specified"); r = EVENTD_PLUGIN_COMMAND_STATUS_COMMAND_ERROR; } else if ( ( server = g_hash_table_lookup(context->servers, argv[1]) ) == NULL ) { *status = g_strdup_printf("No such server '%s'", argv[1]); r = EVENTD_PLUGIN_COMMAND_STATUS_EXEC_ERROR; } else { eventd_relay_server_stop(server); *status = g_strdup_printf("Disconnected from server '%s'", argv[1]); } } else { *status = g_strdup_printf("Unknown command '%s'", argv[0]); r = EVENTD_PLUGIN_COMMAND_STATUS_COMMAND_ERROR; } return r; }