static void session_save_server(SERVER_REC *server, CONFIG_REC *config, CONFIG_NODE *node) { int handle; node = config_node_section(node, NULL, NODE_TYPE_BLOCK); config_node_set_str(config, node, "chat_type", chat_protocol_find_id(server->chat_type)->name); config_node_set_str(config, node, "address", server->connrec->address); config_node_set_int(config, node, "port", server->connrec->port); config_node_set_str(config, node, "chatnet", server->connrec->chatnet); config_node_set_str(config, node, "password", server->connrec->password); config_node_set_str(config, node, "nick", server->nick); config_node_set_str(config, node, "version", server->version); config_node_set_bool(config, node, "use_ssl", server->connrec->use_ssl); config_node_set_str(config, node, "ssl_cert", server->connrec->ssl_cert); config_node_set_str(config, node, "ssl_pkey", server->connrec->ssl_pkey); config_node_set_bool(config, node, "ssl_verify", server->connrec->ssl_verify); config_node_set_bool(config, node, "ssl_self_signed", server->connrec->ssl_self_signed); config_node_set_str(config, node, "ssl_cafile", server->connrec->ssl_cafile); config_node_set_str(config, node, "ssl_capath", server->connrec->ssl_capath); handle = g_io_channel_unix_get_fd(net_sendbuffer_handle(server->handle)); config_node_set_int(config, node, "handle", handle); signal_emit("session save server", 3, server, config, node); /* fake the server disconnection */ g_io_channel_unref(net_sendbuffer_handle(server->handle)); net_sendbuffer_destroy(server->handle, FALSE); server->handle = NULL; server->connection_lost = TRUE; server->no_reconnect = TRUE; server_disconnect(server); }
static void channel_config_add(SETUP_CHANNEL_REC *channel) { CONFIG_NODE *node; node = iconfig_node_traverse("(channels", TRUE); node = config_node_section(node, NULL, NODE_TYPE_BLOCK); iconfig_node_set_str(node, "name", channel->name); iconfig_node_set_str(node, "ircnet", channel->ircnet); if (channel->autojoin) config_node_set_bool(node, "autojoin", TRUE); iconfig_node_set_str(node, "password", channel->password); iconfig_node_set_str(node, "botmasks", channel->botmasks); iconfig_node_set_str(node, "autosendcmd", channel->autosendcmd); iconfig_node_set_str(node, "background", channel->background); iconfig_node_set_str(node, "font", channel->font); }
void setupserver_config_add(SETUP_SERVER_REC *rec) { CONFIG_NODE *node; node = iconfig_node_traverse("(servers", TRUE); node = config_node_section(node, NULL, NODE_TYPE_BLOCK); iconfig_node_set_str(node, "address", rec->address); iconfig_node_set_str(node, "ircnet", rec->ircnet); config_node_set_int(node, "port", rec->port); iconfig_node_set_str(node, "password", rec->password); iconfig_node_set_str(node, "own_host", rec->own_host); if (rec->autoconnect) config_node_set_bool(node, "autoconnect", TRUE); if (rec->max_cmds_at_once > 0) config_node_set_int(node, "cmds_max_at_once", rec->max_cmds_at_once); if (rec->cmd_queue_speed > 0) config_node_set_int(node, "cmd_queue_speed", rec->cmd_queue_speed); }