Mercurial > hg
changeset 1941:2256d0626730
Modularize fifo system (Myhailo Danylenko)
Merge patch from isbear's mcabber-experimental repository.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 27 Feb 2011 17:42:27 +0100 |
parents | 7eadf86039e6 |
children | 3e39a336a992 |
files | mcabber/configure.ac mcabber/mcabber/Makefile.am mcabber/mcabber/main.c mcabber/modules/Makefile.am mcabber/modules/fifo/Makefile.am mcabber/modules/fifo/fifo_module.c |
diffstat | 6 files changed, 78 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/configure.ac Sun Feb 27 17:24:11 2011 +0100 +++ b/mcabber/configure.ac Sun Feb 27 17:42:27 2011 +0100 @@ -282,6 +282,7 @@ modules/Makefile modules/beep/Makefile modules/xttitle/Makefile + modules/fifo/Makefile doc/Makefile doc/guide/Makefile doc/help/Makefile
--- a/mcabber/mcabber/Makefile.am Sun Feb 27 17:24:11 2011 +0100 +++ b/mcabber/mcabber/Makefile.am Sun Feb 27 17:42:27 2011 +0100 @@ -7,7 +7,7 @@ xmpp.c xmpp.h xmpp_helper.c xmpp_helper.h xmpp_defines.h \ xmpp_iq.c xmpp_iq.h xmpp_iqrequest.c xmpp_iqrequest.h \ xmpp_muc.c xmpp_muc.h xmpp_s10n.c xmpp_s10n.h \ - caps.c caps.h fifo.c fifo.h help.c help.h + caps.c caps.h help.c help.h if OTR mcabber_SOURCES += otr.c otr.h nohtml.c nohtml.h @@ -53,6 +53,8 @@ endif mcabberincludedir = $(includedir)/mcabber +else +mcabber_SOURCES += fifo.c fifo.h endif #SUBDIRS =
--- a/mcabber/mcabber/main.c Sun Feb 27 17:24:11 2011 +0100 +++ b/mcabber/mcabber/main.c Sun Feb 27 17:42:27 2011 +0100 @@ -41,11 +41,14 @@ #include "utils.h" #include "pgp.h" #include "otr.h" -#include "fifo.h" #include "xmpp.h" #include "help.h" #include "events.h" +#ifndef MODULES_ENABLE +# include "fifo.h" +#endif + #ifdef MODULES_ENABLE # include "compl.h" # include "modules.h" @@ -77,7 +80,9 @@ static void mcabber_terminate(const char *msg) { +#ifndef MODULES_ENABLE fifo_deinit(); +#endif xmpp_disconnect(); scr_terminate_curses(); @@ -449,8 +454,10 @@ chatstates_disabled = settings_opt_get_int("disable_chatstates"); +#ifndef MODULES_ENABLE /* Initialize FIFO named pipe */ fifo_init(); +#endif /* Load previous roster state */ hlog_load_state(); @@ -498,7 +505,9 @@ #ifdef MODULES_ENABLE modules_deinit(); #endif +#ifndef MODULES_ENABLE fifo_deinit(); +#endif #ifdef HAVE_LIBOTR otr_terminate(); #endif
--- a/mcabber/modules/Makefile.am Sun Feb 27 17:24:11 2011 +0100 +++ b/mcabber/modules/Makefile.am Sun Feb 27 17:42:27 2011 +0100 @@ -1,1 +1,1 @@ -SUBDIRS = beep xttitle +SUBDIRS = beep xttitle fifo
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mcabber/modules/fifo/Makefile.am Sun Feb 27 17:42:27 2011 +0100 @@ -0,0 +1,12 @@ + +if INSTALL_HEADERS +pkglib_LTLIBRARIES = libfifo.la +libfifo_la_SOURCES = fifo_module.c $(top_srcdir)/mcabber/fifo.c $(top_srcdir)/mcabber/fifo.h +libfifo_la_LDFLAGS = -module -avoid-version -shared + +LDADD = $(GLIB_LIBS) +AM_CPPFLAGS = -I$(top_srcdir) $(GLIB_CFLAGS) $(LOUDMOUTH_CFLAGS) \ + $(GPGME_CFLAGS) $(LIBOTR_CFLAGS) \ + $(ENCHANT_CFLAGS) +endif +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mcabber/modules/fifo/fifo_module.c Sun Feb 27 17:42:27 2011 +0100 @@ -0,0 +1,51 @@ + +/* Copyright 2009,2010 Myhailo Danylenko + * + * This file is part of mcabber + * + * mcabber 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, see <http://www.gnu.org/licenses/>. */ + +#include <glib.h> +#include <gmodule.h> + +#include <mcabber/fifo.h> +#include <mcabber/modules.h> +#include <mcabber/config.h> + +module_info_t info_fifo = { + .branch = MCABBER_BRANCH, + .api = MCABBER_API_VERSION, + .version = MCABBER_VERSION, + .requires = NULL, + .init = NULL, + .uninit = NULL, + .description = "Reads and executes command from FIFO pipe\n" + "Recognizes options fifo_name (required), fifo_hide_commands and fifo_ignore.", + .next = NULL, +}; + +gchar *g_module_check_init(GModule *module) +{ + if (fifo_init() == -1) + return "FIFO initialization failed"; + else + return NULL; +} + +void g_module_unload(GModule *module) +{ + fifo_deinit(); +} + +/* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */