1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-30 22:05:42 +02:00

Added trigger plugin

This commit is contained in:
Sebastien Helleu
2007-10-31 18:30:21 +01:00
parent 2ab46db3ad
commit 90262cbcfe
9 changed files with 2054 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
ADD_LIBRARY(trigger MODULE trigger.c trigger.h trigger-libc.c trigger-libc.h
trigger-libirc.c trigger-libirc.h)
SET_TARGET_PROPERTIES(trigger PROPERTIES PREFIX "")
INSTALL(TARGETS trigger LIBRARY DESTINATION lib/${PROJECT_NAME}/plugins)
+30
View File
@@ -0,0 +1,30 @@
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(TRIGGER_CFLAGS)
libdir = ${weechat_libdir}/plugins
lib_LTLIBRARIES = trigger.la
trigger_la_SOURCES = trigger.c \
trigger.h \
trigger-libc.c \
trigger-libc.h \
trigger-libirc.c \
trigger-libirc.h
trigger_la_LDFLAGS = -module
trigger_la_LIBADD = $(TRIGGER_LFLAGS)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+40
View File
@@ -0,0 +1,40 @@
/*
* Copyright (c) 2003-2006 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/* weechat-trigger-libirc.c: Tiny libc */
#ifndef WEECHAT_TRIGGER_LIBC__H
#define WEECHAT_TRIGGER_LIBC__H 1
int c_is_number (char *);
int c_to_number (char *);
char *c_strndup (char *, int);
void c_ascii_tolower (char *);
void c_ascii_toupper (char *);
char *c_weechat_strreplace (char *, char *, char *);
char **c_explode_string (char *, char *, int, int *);
void c_free_exploded_string (char **);
char **c_split_multi_command (char *, char);
void c_free_multi_command (char **);
char *c_join_string(char **, char *);
void c_free_joined_string (char *);
int c_match_string (char *, char *);
int c_imatch_string (char *, char *);
#endif /* WEECHAT_TRIGGER_LIBC__H */
File diff suppressed because it is too large Load Diff
+40
View File
@@ -0,0 +1,40 @@
/*
* Copyright (c) 2003-2006 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/* weechat-trigger-libirc.c: Tiny libirc for trigger plugin */
#ifndef WEECHAT_TRIGGER_LIBIRC__H
#define WEECHAT_TRIGGER_LIBIRC__H 1
typedef struct irc_msg
{
char *userhost;
char *nick;
char *user;
char *host;
char *command;
char *channel;
char *message;
char *data;
} irc_msg;
irc_msg *irc_parse_msg (char *);
void irc_msg_free (irc_msg *);
#endif /* WEECHAT_TRIGGER_LIBIRC__H */
File diff suppressed because it is too large Load Diff
+52
View File
@@ -0,0 +1,52 @@
/*
* Copyright (c) 2003-2006 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/* weechat-trigger.h: Trigger plugin support for WeeChat */
#ifndef WEECHAT_TRIGGER__H
#define WEECHAT_TRIGGER__H 1
#define _PLUGIN_NAME "trigger"
#define _PLUGIN_VERSION "0.1"
#define _PLUGIN_DESC "Trigger plugin for WeeChat"
char plugin_name[] = _PLUGIN_NAME;
char plugin_version[] = _PLUGIN_VERSION;
char plugin_description[] = _PLUGIN_DESC;
typedef struct t_weechat_trigger
{
char *pattern;
char *domain;
char **commands;
char **channels;
char **servers;
char *action;
char **cmds;
struct t_weechat_trigger *prev_trigger;
struct t_weechat_trigger *next_trigger;
} t_weechat_trigger;
#define CONF_FILE "trigger.rc"
#define CONF_SAVE 1
#define CONF_LOAD 2
#define DIR_SEP "/"
#endif /* WEECHAT_TRIGGER__H */