int logger_buffer_add_to_infolist (struct t_infolist *infolist, struct t_logger_buffer *logger_buffer) { struct t_infolist_item *ptr_item; if (!infolist || !logger_buffer) return 0; ptr_item = weechat_infolist_new_item (infolist); if (!ptr_item) return 0; if (!weechat_infolist_new_var_pointer (ptr_item, "buffer", logger_buffer->buffer)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "log_filename", logger_buffer->log_filename)) return 0; if (!weechat_infolist_new_var_pointer (ptr_item, "log_file", logger_buffer->log_file)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "log_enabled", logger_buffer->log_enabled)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "log_level", logger_buffer->log_level)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "write_start_info_line", logger_buffer->write_start_info_line)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "flush_needed", logger_buffer->flush_needed)) return 0; return 1; }
int alias_add_to_infolist (struct t_infolist *infolist, struct t_alias *alias) { struct t_infolist_item *ptr_item; if (!infolist || !alias) return 0; ptr_item = weechat_infolist_new_item (infolist); if (!ptr_item) return 0; if (!weechat_infolist_new_var_pointer (ptr_item, "hook", alias->hook)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "name", alias->name)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "command", alias->command)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "completion", alias->completion)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "running", alias->running)) return 0; return 1; }
int irc_notify_add_to_infolist (struct t_infolist *infolist, struct t_irc_notify *notify) { struct t_infolist_item *ptr_item; if (!infolist || !notify) return 0; ptr_item = weechat_infolist_new_item (infolist); if (!ptr_item) return 0; if (!weechat_infolist_new_var_pointer (ptr_item, "server", notify->server)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "server_name", notify->server->name)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "nick", notify->nick)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "check_away", notify->check_away)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "is_on_server", notify->is_on_server)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "away_message", notify->away_message)) return 0; return 1; }
int irc_redirect_add_to_infolist (struct t_infolist *infolist, struct t_irc_redirect *redirect) { struct t_infolist_item *ptr_item; if (!infolist || !redirect) return 0; ptr_item = weechat_infolist_new_item (infolist); if (!ptr_item) return 0; if (!weechat_infolist_new_var_pointer (ptr_item, "server", redirect->server)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "server_name", redirect->server->name)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "pattern", redirect->pattern)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "signal", redirect->signal)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "count", redirect->count)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "current_count", redirect->current_count)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "string", redirect->string)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "timeout", redirect->timeout)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "command", redirect->command)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "assigned_to_command", redirect->assigned_to_command)) return 0; if (!weechat_infolist_new_var_time (ptr_item, "start_time", redirect->start_time)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "cmd_start", weechat_hashtable_get_string (redirect->cmd_start, "keys_values"))) return 0; if (!weechat_infolist_new_var_string (ptr_item, "cmd_stop", weechat_hashtable_get_string (redirect->cmd_stop, "keys_values"))) return 0; if (!weechat_infolist_new_var_string (ptr_item, "cmd_extra", weechat_hashtable_get_string (redirect->cmd_extra, "keys_values"))) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "cmd_start_received", redirect->cmd_start_received)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "cmd_stop_received", redirect->cmd_stop_received)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "cmd_filter", weechat_hashtable_get_string (redirect->cmd_filter, "keys_values"))) return 0; if (!weechat_infolist_new_var_string (ptr_item, "output", redirect->output)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "output_size", redirect->output_size)) return 0; return 1; }
int rmodifier_add_to_infolist (struct t_infolist *infolist, struct t_rmodifier *rmodifier) { struct t_infolist_item *ptr_item; char option_name[64]; int i; if (!infolist || !rmodifier) return 0; ptr_item = weechat_infolist_new_item (infolist); if (!ptr_item) return 0; if (!weechat_infolist_new_var_string (ptr_item, "name", rmodifier->name)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "modifiers", rmodifier->modifiers)) return 0; for (i = 0; i < rmodifier->hooks_count; i++) { snprintf (option_name, sizeof (option_name), "hook_%05d", i + 1); if (!weechat_infolist_new_var_pointer (ptr_item, option_name, rmodifier->hooks[i])) return 0; } if (!weechat_infolist_new_var_integer (ptr_item, "hooks_count", rmodifier->hooks_count)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "str_regex", rmodifier->str_regex)) return 0; if (!weechat_infolist_new_var_pointer (ptr_item, "regex", rmodifier->regex)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "groups", rmodifier->groups)) return 0; return 1; }
int relay_server_add_to_infolist (struct t_infolist *infolist, struct t_relay_server *server) { struct t_infolist_item *ptr_item; if (!infolist || !server) return 0; ptr_item = weechat_infolist_new_item (infolist); if (!ptr_item) return 0; if (!weechat_infolist_new_var_string (ptr_item, "protocol_string", server->protocol_string)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "protocol", server->protocol)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "protocol_args", server->protocol_args)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "port", server->port)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "path", server->path)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "ipv4", server->ipv4)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "ipv6", server->ipv6)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "ssl", server->ssl)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "unix_socket", server->unix_socket)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "sock", server->sock)) return 0; if (!weechat_infolist_new_var_pointer (ptr_item, "hook_fd", server->hook_fd)) return 0; if (!weechat_infolist_new_var_time (ptr_item, "start_time", server->start_time)) return 0; if (!weechat_infolist_new_var_time (ptr_item, "last_client_disconnect", server->last_client_disconnect)) return 0; return 1; }
int relay_client_add_to_infolist (struct t_infolist *infolist, struct t_relay_client *client) { struct t_infolist_item *ptr_item; char value[128]; if (!infolist || !client) return 0; ptr_item = weechat_infolist_new_item (infolist); if (!ptr_item) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "id", client->id)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "sock", client->sock)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "address", client->address)) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "status", client->status)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "status_string", relay_client_status_string[client->status])) return 0; if (!weechat_infolist_new_var_integer (ptr_item, "protocol", client->protocol)) return 0; if (!weechat_infolist_new_var_string (ptr_item, "protocol_string", relay_protocol_string[client->protocol])) return 0; if (!weechat_infolist_new_var_string (ptr_item, "protocol_args", client->protocol_args)) return 0; if (!weechat_infolist_new_var_time (ptr_item, "listen_start_time", client->listen_start_time)) return 0; if (!weechat_infolist_new_var_time (ptr_item, "start_time", client->start_time)) return 0; if (!weechat_infolist_new_var_time (ptr_item, "end_time", client->end_time)) return 0; if (!weechat_infolist_new_var_pointer (ptr_item, "hook_fd", client->hook_fd)) return 0; if (!weechat_infolist_new_var_time (ptr_item, "last_activity", client->last_activity)) return 0; snprintf (value, sizeof (value), "%lu", client->bytes_recv); if (!weechat_infolist_new_var_string (ptr_item, "bytes_recv", value)) return 0; snprintf (value, sizeof (value), "%lu", client->bytes_sent); if (!weechat_infolist_new_var_string (ptr_item, "bytes_sent", value)) return 0; switch (client->protocol) { case RELAY_PROTOCOL_WEECHAT: relay_weechat_add_to_infolist (ptr_item, client); break; case RELAY_PROTOCOL_IRC: relay_irc_add_to_infolist (ptr_item, client); break; case RELAY_NUM_PROTOCOLS: break; } return 1; }