mirror of
https://github.com/weechat/weechat.git
synced 2026-07-01 15:26:37 +02:00
Changes in IRC plugin to use new API
This commit is contained in:
@@ -208,6 +208,26 @@ gui_buffer_valid (struct t_gui_buffer *buffer)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_buffer_get: get a buffer property
|
||||
*/
|
||||
|
||||
char *
|
||||
gui_buffer_get (struct t_gui_buffer *buffer, char *property)
|
||||
{
|
||||
long number;
|
||||
char *error;
|
||||
|
||||
if (string_strcasecmp (property, "category") == 0)
|
||||
return buffer->category;
|
||||
else if (string_strcasecmp (property, "name") == 0)
|
||||
return buffer->name;
|
||||
else if (string_strcasecmp (property, "title") == 0)
|
||||
return buffer->title;
|
||||
else if (string_strcasecmp (property, "nick") == 0)
|
||||
return buffer->nick;
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_buffer_set_category: set category for a buffer
|
||||
*/
|
||||
|
||||
@@ -142,6 +142,7 @@ extern struct t_gui_buffer *gui_buffer_before_raw_data;
|
||||
extern struct t_gui_buffer *gui_buffer_new (void *, char *, char *,
|
||||
void (*)(struct t_gui_buffer *, char *));
|
||||
extern int gui_buffer_valid (struct t_gui_buffer *);
|
||||
extern char *gui_buffer_get (struct t_gui_buffer *, char *);
|
||||
extern void gui_buffer_set_category (struct t_gui_buffer *, char *);
|
||||
extern void gui_buffer_set_name (struct t_gui_buffer *, char *);
|
||||
extern void gui_buffer_set_log (struct t_gui_buffer *, char *);
|
||||
|
||||
@@ -751,20 +751,20 @@ weechat_plugin_init (struct t_weechat_plugin *plugin)
|
||||
"replaced by current nick/channel"
|
||||
"/server."),
|
||||
"%- %h",
|
||||
alias_command_cb, NULL);
|
||||
&alias_command_cb, NULL);
|
||||
|
||||
unalias_command = weechat_hook_command ("unalias", N_("remove an alias"),
|
||||
N_("alias_name"),
|
||||
N_("alias_name: name of alias to "
|
||||
"remove"),
|
||||
"%(alias)",
|
||||
unalias_command_cb, NULL);
|
||||
&unalias_command_cb, NULL);
|
||||
|
||||
config_reload = weechat_hook_event ("config_reload",
|
||||
alias_config_reload_event_cb, NULL);
|
||||
&alias_config_reload_event_cb, NULL);
|
||||
|
||||
completion = weechat_hook_completion ("alias",
|
||||
alias_completion_cb, NULL);
|
||||
&alias_completion_cb, NULL);
|
||||
|
||||
return PLUGIN_RC_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -284,14 +284,14 @@ weechat_plugin_init (struct t_weechat_plugin *plugin)
|
||||
_("[text]"),
|
||||
_("text: write some text on current buffer"),
|
||||
"",
|
||||
demo_printf_command_cb, NULL);
|
||||
&demo_printf_command_cb, NULL);
|
||||
|
||||
weechat_hook_command ("demo_buffer",
|
||||
_("open a new buffer"),
|
||||
_("category name"),
|
||||
"",
|
||||
"",
|
||||
demo_buffer_command_cb, NULL);
|
||||
&demo_buffer_command_cb, NULL);
|
||||
|
||||
weechat_hook_command ("demo_infolist",
|
||||
_("demo command: get and display list"),
|
||||
@@ -299,7 +299,7 @@ weechat_plugin_init (struct t_weechat_plugin *plugin)
|
||||
_("infolist: infolist to display (values: buffer, "
|
||||
"buffer_lines)"),
|
||||
"buffer|buffer_lines",
|
||||
demo_infolist_command_cb, NULL);
|
||||
&demo_infolist_command_cb, NULL);
|
||||
|
||||
weechat_hook_command ("demo_info",
|
||||
_("demo command: get and display info"),
|
||||
@@ -311,9 +311,9 @@ weechat_plugin_init (struct t_weechat_plugin *plugin)
|
||||
"version|weechat_dir|weechat_libdir|"
|
||||
"weechat_sharedir|charset_terminal|charset_internal|"
|
||||
"inactivity|input|input_mask|input_pos",
|
||||
demo_info_command_cb, NULL);
|
||||
&demo_info_command_cb, NULL);
|
||||
|
||||
weechat_hook_event ("*", demo_event_cb, NULL);
|
||||
weechat_hook_event ("*", &demo_event_cb, NULL);
|
||||
|
||||
return PLUGIN_RC_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -336,9 +336,9 @@ weechat_plugin_init (struct t_weechat_plugin *plugin)
|
||||
|
||||
fifo_create ();
|
||||
|
||||
fifo_fd_hook = weechat_hook_fd (fifo_fd, 1, 0, 0, fifo_read, NULL);
|
||||
fifo_fd_hook = weechat_hook_fd (fifo_fd, 1, 0, 0, &fifo_read, NULL);
|
||||
|
||||
weechat_hook_config ("plugin", "fifo.fifo", fifo_config_cb, NULL);
|
||||
weechat_hook_config ("plugin", "fifo.fifo", &fifo_config_cb, NULL);
|
||||
|
||||
return PLUGIN_RC_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
SET(LIB_PROTOCOL_IRC_SRC irc.c irc.h irc-channel.c irc-channel.h irc-config.c
|
||||
irc-config.h irc-server.c irc-server.h)
|
||||
SET(LIB_PROTOCOL_IRC_SRC irc.c irc.h irc-channel.c irc-channel.h irc-command.c
|
||||
irc-command.h irc-config.c irc-config.h irc-server.c irc-server.h)
|
||||
|
||||
#SET(LIB_PROTOCOL_IRC_SRC irc.c irc.h irc-buffer.c irc-buffer.h irc-channel.c
|
||||
#irc-channel.h irc-command.c irc-command.h irc-color.c irc-color.h irc-config.c
|
||||
|
||||
@@ -24,27 +24,26 @@ irc_la_SOURCES = irc.c \
|
||||
irc.h \
|
||||
irc-channel.c \
|
||||
irc-channel.h \
|
||||
irc-color.c \
|
||||
irc-color.h \
|
||||
irc-command.c \
|
||||
irc-command.h \
|
||||
irc-config.c \
|
||||
irc-config.h \
|
||||
irc-display.c \
|
||||
irc-display.h \
|
||||
irc-nick.c \
|
||||
irc-nick.h \
|
||||
irc-server.c \
|
||||
irc-server.h
|
||||
|
||||
# irc.c \
|
||||
# irc.h \
|
||||
# irc-buffer.c \
|
||||
# irc-buffer.h \
|
||||
# irc-command.c \
|
||||
# irc-command.h \
|
||||
# irc-color.c \
|
||||
# irc-color.h \
|
||||
# irc-dcc.c \
|
||||
# irc-dcc.h \
|
||||
# irc-display.c \
|
||||
# irc-input.c \
|
||||
# irc-log.c \
|
||||
# irc-mode.c \
|
||||
# irc-nick.c \
|
||||
# irc-nick.h \
|
||||
# irc-protocol.c \
|
||||
# irc-protocol.h
|
||||
|
||||
|
||||
@@ -27,9 +27,8 @@
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "../../core/weechat.h"
|
||||
#include "irc.h"
|
||||
#include "irc-color.h"
|
||||
#include "../../gui/gui.h"
|
||||
|
||||
|
||||
/*
|
||||
|
||||
+825
-848
File diff suppressed because it is too large
Load Diff
@@ -20,6 +20,18 @@
|
||||
#ifndef __WEECHAT_IRC_COMMAND_H
|
||||
#define __WEECHAT_IRC_COMMAND_H 1
|
||||
|
||||
#define IRC_COMMAND_GET_SERVER(buffer) \
|
||||
struct t_irc_server *ptr_server = irc_server_search ( \
|
||||
weechat_buffer_get (buffer, "category"))
|
||||
|
||||
#define IRC_COMMAND_GET_SERVER_CHANNEL(buffer) \
|
||||
struct t_irc_server *ptr_server = irc_server_search ( \
|
||||
weechat_buffer_get (buffer, "category")); \
|
||||
struct t_irc_channel *ptr_channel = irc_channel_search ( \
|
||||
ptr_server, \
|
||||
weechat_buffer_get (buffer, "name"))
|
||||
|
||||
|
||||
extern void irc_command_init ();
|
||||
|
||||
#endif /* irc-command.h */
|
||||
|
||||
@@ -384,6 +384,19 @@ irc_nick_set_away (struct t_irc_channel *channel, struct t_irc_nick *nick, int i
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_nick_as_prefix: return string with nick to display as prefix on buffer
|
||||
* (string will end by a tab)
|
||||
*/
|
||||
|
||||
char *
|
||||
irc_nick_as_prefix (struct t_irc_nick *nick)
|
||||
{
|
||||
static char result[10] = "";
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_nick_print_log: print nick infos in log (usually for crash dump)
|
||||
*/
|
||||
|
||||
@@ -62,6 +62,7 @@ extern void irc_nick_free_all (struct t_irc_channel *);
|
||||
extern struct t_irc_nick *irc_nick_search (struct t_irc_channel *, char *);
|
||||
extern void irc_nick_count (struct t_irc_channel *, int *, int *, int *, int *, int *);
|
||||
extern void irc_nick_set_away (struct t_irc_channel *, struct t_irc_nick *, int);
|
||||
extern char *irc_nick_as_prefix (struct t_irc_nick *);
|
||||
extern void irc_nick_print_log (struct t_irc_nick *);
|
||||
|
||||
#endif /* irc-nick.h */
|
||||
|
||||
@@ -28,6 +28,12 @@
|
||||
|
||||
#define weechat_plugin weechat_irc_plugin
|
||||
|
||||
#define IRC_COLOR_CHAT weechat_color("color_chat")
|
||||
#define IRC_COLOR_CHAT_CHANNEL weechat_color("color_chat_channel")
|
||||
#define IRC_COLOR_CHAT_DELIMITERS weechat_color("color_chat_delimiters")
|
||||
#define IRC_COLOR_CHAT_NICK weechat_color("color_chat_nick")
|
||||
#define IRC_COLOR_CHAT_SERVER weechat_color("color_chat_server")
|
||||
|
||||
extern struct t_weechat_plugin *weechat_plugin;
|
||||
extern struct t_weechat_plugin *weechat_plugin;
|
||||
extern struct t_hook *irc_timer_check_away;
|
||||
|
||||
@@ -441,10 +441,10 @@ weechat_plugin_init (struct t_weechat_plugin *plugin)
|
||||
|
||||
logger_start_buffer_all ();
|
||||
|
||||
weechat_hook_event ("buffer_open", logger_event_cb, NULL);
|
||||
weechat_hook_event ("buffer_close", logger_event_cb, NULL);
|
||||
weechat_hook_event ("buffer_open", &logger_event_cb, NULL);
|
||||
weechat_hook_event ("buffer_close", &logger_event_cb, NULL);
|
||||
|
||||
weechat_hook_print (NULL, NULL, 1, logger_print_cb, NULL);
|
||||
weechat_hook_print (NULL, NULL, 1, &logger_print_cb, NULL);
|
||||
|
||||
return PLUGIN_RC_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -1271,6 +1271,20 @@ plugin_api_buffer_close (struct t_weechat_plugin *plugin, void *buffer)
|
||||
gui_buffer_free ((struct t_gui_buffer *)buffer, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* plugin_api_buffer_get: get a buffer property
|
||||
*/
|
||||
|
||||
char *
|
||||
plugin_api_buffer_get (struct t_weechat_plugin *plugin, void *buffer,
|
||||
char *property)
|
||||
{
|
||||
if (plugin && buffer && property && property[0])
|
||||
return gui_buffer_get ((struct t_gui_buffer *)buffer, property);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* plugin_api_buffer_set: set a buffer property
|
||||
*/
|
||||
|
||||
@@ -160,6 +160,7 @@ extern struct t_gui_buffer *plugin_api_buffer_new (struct t_weechat_plugin *,
|
||||
extern struct t_gui_buffer *plugin_api_buffer_search (struct t_weechat_plugin *,
|
||||
char *, char *);
|
||||
extern void plugin_api_buffer_close (struct t_weechat_plugin *, void *);
|
||||
extern char *plugin_api_buffer_get (struct t_weechat_plugin *, void *, char *);
|
||||
extern void plugin_api_buffer_set (struct t_weechat_plugin *, void *, char *,
|
||||
char *);
|
||||
extern void plugin_api_buffer_nick_add (struct t_weechat_plugin *, void *,
|
||||
|
||||
@@ -168,6 +168,7 @@ struct t_weechat_plugin
|
||||
struct t_gui_buffer *(*buffer_search) (struct t_weechat_plugin *,
|
||||
char *, char *);
|
||||
void (*buffer_close) (struct t_weechat_plugin *, void *);
|
||||
char *(*buffer_get) (struct t_weechat_plugin *, void *, char *);
|
||||
void (*buffer_set) (struct t_weechat_plugin *, void *, char *, char *);
|
||||
void (*buffer_nick_add) (struct t_weechat_plugin *, void *, char *, int,
|
||||
char *, char, char *);
|
||||
@@ -385,9 +386,11 @@ struct t_weechat_plugin
|
||||
weechat_plugin->buffer_search(weechat_plugin, NULL, NULL)
|
||||
#define weechat_buffer_close(__buffer) \
|
||||
weechat_plugin->buffer_close(weechat_plugin, __buffer)
|
||||
#define weechat_buffer_get(__buffer, __property) \
|
||||
weechat_plugin->buffer_get(weechat_plugin, __buffer, __property)
|
||||
#define weechat_buffer_set(__buffer, __property, __value) \
|
||||
weechat_plugin->buffer_set(weechat_plugin, __buffer, \
|
||||
__property, __value)
|
||||
weechat_plugin->buffer_set(weechat_plugin, __buffer, __property, \
|
||||
__value)
|
||||
|
||||
/* command */
|
||||
#define weechat_command(__buffer, __command) \
|
||||
|
||||
Reference in New Issue
Block a user