=?utf-8?q?=5Bekiga=5D_Ajout_d=27un_bout_de_code_pour_aider_les_situations?= =?utf-8?q?_de_type_demande-r=C3=A9ponse_ou_ordre-r=C3=A9sultat_dans_l?=
- From: Julien Puydt <jpuydt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ekiga] Ajout d'un bout de code pour aider les situations de type demande-rÃponse ou ordre-rÃsultat dans l
- Date: Mon, 19 Sep 2011 20:12:35 +0000 (UTC)
commit 5fc42e8b83d5a0ee2e6d4184b2b3351f7a95e5de
Author: Julien Puydt <jpuydt newton localdomain>
Date: Sun Sep 18 20:44:39 2011 +0200
Ajout d'un bout de code pour aider les situations de type demande-rÃponse ou ordre-rÃsultat dans le plugin loudmouth
plugins/loudmouth/Makefile.am | 2 +
plugins/loudmouth/loudmouth-helpers.cpp | 74 +++++++++++++++++++++++++++++++
plugins/loudmouth/loudmouth-helpers.h | 46 +++++++++++++++++++
3 files changed, 122 insertions(+), 0 deletions(-)
---
diff --git a/plugins/loudmouth/Makefile.am b/plugins/loudmouth/Makefile.am
index b1e8b9b..db1684f 100644
--- a/plugins/loudmouth/Makefile.am
+++ b/plugins/loudmouth/Makefile.am
@@ -15,6 +15,8 @@ libgmloudmouth_la_SOURCES = \
$(loudmouth_dir)/loudmouth-main.h \
$(loudmouth_dir)/loudmouth-main.cpp \
$(loudmouth_dir)/loudmouth-handler.h \
+ $(loudmouth_dir)/loudmouth-helpers.h \
+ $(loudmouth_dir)/loudmouth-helpers.cpp \
$(loudmouth_dir)/loudmouth-bank.h \
$(loudmouth_dir)/loudmouth-bank.cpp \
$(loudmouth_dir)/loudmouth-account.h \
diff --git a/plugins/loudmouth/loudmouth-helpers.cpp b/plugins/loudmouth/loudmouth-helpers.cpp
new file mode 100644
index 0000000..e7de50f
--- /dev/null
+++ b/plugins/loudmouth/loudmouth-helpers.cpp
@@ -0,0 +1,74 @@
+
+/*
+ * Ekiga -- A VoIP and Video-Conferencing application
+ * Copyright (C) 2000-2011 Damien Sandras
+
+ * 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.
+ *
+ * Ekiga is licensed under the GPL license and as a special exception, you
+ * have permission to link or otherwise combine this program with the
+ * programs OPAL, OpenH323 and PWLIB, and distribute the combination, without
+ * applying the requirements of the GNU GPL to the OPAL, OpenH323 and PWLIB
+ * programs, as long as you do follow the requirements of the GNU GPL for all
+ * the rest of the software thus combined.
+ */
+
+
+/*
+ * loudmouth-helpers.cpp - description
+ * ------------------------------------------
+ * begin : written in 2008-2011 by Julien Puydt
+ * copyright : (c) 2008-2011 by Julien Puydt
+ * description : implementation of some helper functions
+ *
+ */
+
+#define DEBUG 1
+
+#if DEBUG
+#include <iostream>
+#endif
+
+#include "loudmouth-helpers.h"
+
+struct handler_data
+{
+ handler_data (boost::function2<LmHandlerResult, LmConnection*, LmMessage*> callback_):
+ callback(callback_)
+ {}
+
+ boost::function2<LmHandlerResult, LmConnection*, LmMessage*> callback;
+};
+
+static LmHandlerResult
+handler_function_c (LmMessageHandler* handler,
+ LmConnection* connection,
+ LmMessage* message,
+ handler_data* data)
+{
+ LmHandlerResult result = data->callback (connection, message);
+
+ delete data;
+ lm_message_handler_unref (handler);
+
+ return result;
+}
+
+LmMessageHandler*
+build_message_handler (boost::function2<LmHandlerResult, LmConnection*, LmMessage*> callback)
+{
+ handler_data* data = new handler_data (callback);
+ LmMessageHandler* result = lm_message_handler_new ((LmHandleMessageFunction)handler_function_c, data, NULL);
+
+ return result;
+}
diff --git a/plugins/loudmouth/loudmouth-helpers.h b/plugins/loudmouth/loudmouth-helpers.h
new file mode 100644
index 0000000..1af5f71
--- /dev/null
+++ b/plugins/loudmouth/loudmouth-helpers.h
@@ -0,0 +1,46 @@
+
+/*
+ * Ekiga -- A VoIP and Video-Conferencing application
+ * Copyright (C) 2000-2011 Damien Sandras
+
+ * 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.
+ *
+ * Ekiga is licensed under the GPL license and as a special exception, you
+ * have permission to link or otherwise combine this program with the
+ * programs OPAL, OpenH323 and PWLIB, and distribute the combination, without
+ * applying the requirements of the GNU GPL to the OPAL, OpenH323 and PWLIB
+ * programs, as long as you do follow the requirements of the GNU GPL for all
+ * the rest of the software thus combined.
+ */
+
+
+/*
+ * loudmouth-helpers.h - description
+ * ------------------------------------------
+ * begin : written in 2008-2011 by Julien Puydt
+ * copyright : (c) 2008-2011 by Julien Puydt
+ * description : declaration of some helper functions
+ *
+ */
+
+#ifndef __LOUDMOUTH_HELPERS_H__
+#define __LOUDMOUTH_HELPERS_H__
+
+#include <boost/smart_ptr.hpp>
+#include <boost/signals.hpp>
+
+#include <loudmouth/loudmouth.h>
+
+LmMessageHandler* build_message_handler (boost::function2<LmHandlerResult, LmConnection*, LmMessage*> callback);
+
+#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]