Пример #1
0
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);
}
Пример #2
0
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);
}
Пример #3
0
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);
}