Ejemplo n.º 1
0
void
irc_raw_open (int switch_to_buffer)
{
    struct t_irc_raw_message *ptr_raw_message;
    
    if (!irc_raw_buffer)
    {
        irc_raw_buffer = weechat_buffer_search (IRC_PLUGIN_NAME,
                                                IRC_RAW_BUFFER_NAME);
        if (!irc_raw_buffer)
        {
            irc_raw_buffer = weechat_buffer_new (IRC_RAW_BUFFER_NAME,
                                                 NULL, NULL,
                                                 &irc_buffer_close_cb, NULL);
            
            /* failed to create buffer ? then return */
            if (!irc_raw_buffer)
                return;
            
            weechat_buffer_set (irc_raw_buffer,
                                "title", _("IRC raw messages"));
            
            weechat_buffer_set (irc_raw_buffer, "short_name", IRC_RAW_BUFFER_NAME);
            weechat_buffer_set (irc_raw_buffer, "localvar_set_type", "debug");
            weechat_buffer_set (irc_raw_buffer, "localvar_set_server", IRC_RAW_BUFFER_NAME);
            weechat_buffer_set (irc_raw_buffer, "localvar_set_channel", IRC_RAW_BUFFER_NAME);
            weechat_buffer_set (irc_raw_buffer, "localvar_set_no_log", "1");
            
            /* disable all highlights on this debug buffer */
            weechat_buffer_set (irc_raw_buffer, "highlight_words", "-");
            
            if (switch_to_buffer)
                weechat_buffer_set (irc_raw_buffer, "display", "1");
            
            /* print messages in list */
            for (ptr_raw_message = irc_raw_messages; ptr_raw_message;
                 ptr_raw_message = ptr_raw_message->next_message)
            {
                irc_raw_message_print (ptr_raw_message);
            }
        }
    }
    else
    {
        if (switch_to_buffer)
            weechat_buffer_set (irc_raw_buffer, "display", "1");
    }
}
Ejemplo n.º 2
0
void
irc_raw_print (struct t_irc_server *server, int send, int modified,
               const char *message)
{
    struct t_irc_raw_message *new_raw_message;
    
    if (!message)
        return;
    
    if (!irc_raw_buffer && (weechat_irc_plugin->debug >= 1))
        irc_raw_open (0);
    
    new_raw_message = irc_raw_message_add (server, send, modified, message);
    if (new_raw_message)
    {
        if (irc_raw_buffer)
            irc_raw_message_print (new_raw_message);
        if (weechat_config_integer (irc_config_look_raw_messages) == 0)
            irc_raw_message_free (new_raw_message);
    }
}
Ejemplo n.º 3
0
void
irc_raw_print (struct t_irc_server *server, int flags,
               const char *message)
{
    struct t_irc_raw_message *new_raw_message;

    if (!message)
        return;

    /* auto-open IRC raw buffer if debug for irc plugin is >= 1 */
    if (!irc_raw_buffer && (weechat_irc_plugin->debug >= 1))
        irc_raw_open (0);

    new_raw_message = irc_raw_message_add (server, flags, message);
    if (new_raw_message)
    {
        if (irc_raw_buffer)
            irc_raw_message_print (new_raw_message);
        if (weechat_config_integer (irc_config_look_raw_messages) == 0)
            irc_raw_message_free (new_raw_message);
    }
}