Added a Qt-3 client by Dorin Lazar.
Cleaned up build system and also made it detect Qt libraries. git-svn-id: http://yate.null.ro/svn/yate/trunk@128 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
1d06e47812
commit
0942505685
|
@ -7,7 +7,7 @@ DESTDIR :=
|
||||||
# override DEBUG at compile time to enable full debug or remove it all
|
# override DEBUG at compile time to enable full debug or remove it all
|
||||||
DEBUG :=
|
DEBUG :=
|
||||||
|
|
||||||
CC := @CXX@ -Wall
|
CXX := @CXX@ -Wall
|
||||||
SED := sed
|
SED := sed
|
||||||
DEFS :=
|
DEFS :=
|
||||||
LIBAUX:= -ldl
|
LIBAUX:= -ldl
|
||||||
|
@ -32,8 +32,8 @@ OBJS := main.o
|
||||||
|
|
||||||
LIBOBJS := $(ENGOBJS) $(TELOBJS)
|
LIBOBJS := $(ENGOBJS) $(TELOBJS)
|
||||||
CLEANS = $(PROGS) $(SLIBS) $(LIBS) $(OBJS) $(LIBOBJS) core
|
CLEANS = $(PROGS) $(SLIBS) $(LIBS) $(OBJS) $(LIBOBJS) core
|
||||||
COMPILE = $(CC) $(DEFS) $(DEBUG) $(INCLUDES) $(CFLAGS)
|
COMPILE = $(CXX) $(DEFS) $(DEBUG) $(INCLUDES) $(CFLAGS)
|
||||||
LINK = $(CC) $(LDFLAGS)
|
LINK = $(CXX) $(LDFLAGS)
|
||||||
|
|
||||||
prefix = @prefix@
|
prefix = @prefix@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
|
@ -56,6 +56,7 @@ clean:
|
||||||
$(MAKE) -C ./modules $@
|
$(MAKE) -C ./modules $@
|
||||||
$(MAKE) -C ./test $@
|
$(MAKE) -C ./test $@
|
||||||
$(MAKE) -C ./contrib/iax $@
|
$(MAKE) -C ./contrib/iax $@
|
||||||
|
$(MAKE) -C ./contrib/qt $@
|
||||||
|
|
||||||
.PHONY: engine
|
.PHONY: engine
|
||||||
engine: tables yatepaths.h $(LIBS) $(SLIBS) $(PROGS)
|
engine: tables yatepaths.h $(LIBS) $(SLIBS) $(PROGS)
|
||||||
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
/**
|
||||||
|
* qtclient.cpp
|
||||||
|
* This file is part of the YATE Project http://YATE.null.ro
|
||||||
|
*
|
||||||
|
* A Qt based universal telephony client
|
||||||
|
* Author: Dorin Lazar <lazar@deuromedia.ro>
|
||||||
|
*
|
||||||
|
* Yet Another Telephony Engine - a fully featured software PBX and IVR
|
||||||
|
* Copyright (C) 2004 Null Team
|
||||||
|
*
|
||||||
|
* 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <telengine.h>
|
||||||
|
#include <telephony.h>
|
||||||
|
|
||||||
|
#include "../contrib/qt/qtclientform.hpp"
|
||||||
|
#include <qapplication.h>
|
||||||
|
|
||||||
|
using namespace TelEngine;
|
||||||
|
|
||||||
|
class QtClientThread : public Thread
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QtClientThread () : Thread("QtClient"),m_app(0),m_frm(0) {}
|
||||||
|
~QtClientThread() {}
|
||||||
|
public:
|
||||||
|
void run(void);
|
||||||
|
void cleanup(void);
|
||||||
|
private:
|
||||||
|
QApplication *m_app;
|
||||||
|
QtClientForm *m_frm;
|
||||||
|
};
|
||||||
|
|
||||||
|
void QtClientThread::run (void)
|
||||||
|
{
|
||||||
|
int argc = 1;
|
||||||
|
char *argv[] = {"QYate", NULL};
|
||||||
|
m_app = new QApplication(argc, argv);
|
||||||
|
m_frm = new QtClientForm();
|
||||||
|
m_app->setMainWidget (m_frm);
|
||||||
|
m_frm->show();
|
||||||
|
m_app->exec();
|
||||||
|
Engine::halt(0);
|
||||||
|
Output ("QtClientThread finished");
|
||||||
|
}
|
||||||
|
|
||||||
|
void QtClientThread::cleanup (void)
|
||||||
|
{
|
||||||
|
delete m_frm;
|
||||||
|
m_frm = NULL;
|
||||||
|
delete m_app;
|
||||||
|
m_app = NULL;
|
||||||
|
qApp = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
class QtYateClientPlugin : public Plugin
|
||||||
|
{
|
||||||
|
QtClientThread *thread;
|
||||||
|
public:
|
||||||
|
QtYateClientPlugin();
|
||||||
|
~QtYateClientPlugin();
|
||||||
|
virtual void initialize(void);
|
||||||
|
virtual bool isBusy() const { return true; }
|
||||||
|
};
|
||||||
|
|
||||||
|
QtYateClientPlugin::QtYateClientPlugin ()
|
||||||
|
: thread(0)
|
||||||
|
{
|
||||||
|
Output ("Loading QtYateClientPlugin");
|
||||||
|
}
|
||||||
|
|
||||||
|
QtYateClientPlugin::~QtYateClientPlugin ()
|
||||||
|
{
|
||||||
|
// the thread should be already dead at this point
|
||||||
|
Output ("Unloaded QtYateClientPlugin");
|
||||||
|
}
|
||||||
|
|
||||||
|
void QtYateClientPlugin::initialize (void)
|
||||||
|
{
|
||||||
|
if (!thread) {
|
||||||
|
Output ("Initializing Qt Client");
|
||||||
|
thread = new QtClientThread;
|
||||||
|
thread->startup();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
INIT_PLUGIN(QtYateClientPlugin);
|
26
configure.in
26
configure.in
|
@ -383,7 +383,7 @@ AC_SUBST(SPANDSP_LIB)
|
||||||
HAVE_GTK=no
|
HAVE_GTK=no
|
||||||
GTK_INC=""
|
GTK_INC=""
|
||||||
GTK_LIB=""
|
GTK_LIB=""
|
||||||
AC_ARG_WITH(libgtk,AC_HELP_STRING([--with-libgtk],[use Gtk for graphical clients)]),[ac_cv_use_libgtk=$withval],[ac_cv_use_libgtk=yes])
|
AC_ARG_WITH(libgtk,AC_HELP_STRING([--with-libgtk],[use Gtk for graphical clients (default)]),[ac_cv_use_libgtk=$withval],[ac_cv_use_libgtk=yes])
|
||||||
if [[ "x$ac_cv_use_libgtk" = "xyes" ]]; then
|
if [[ "x$ac_cv_use_libgtk" = "xyes" ]]; then
|
||||||
AC_MSG_CHECKING([for Gtk using gtk-config])
|
AC_MSG_CHECKING([for Gtk using gtk-config])
|
||||||
vergt=`gtk-config --version gtk 2>/dev/null`
|
vergt=`gtk-config --version gtk 2>/dev/null`
|
||||||
|
@ -401,6 +401,29 @@ AC_SUBST(HAVE_GTK)
|
||||||
AC_SUBST(GTK_INC)
|
AC_SUBST(GTK_INC)
|
||||||
AC_SUBST(GTK_LIB)
|
AC_SUBST(GTK_LIB)
|
||||||
|
|
||||||
|
HAVE_QT=no
|
||||||
|
QT_DIR=""
|
||||||
|
AC_ARG_WITH(libqt,AC_HELP_STRING([--with-libqt],[use Qt for graphical clients (default)]),[ac_cv_use_libqt=$withval],[ac_cv_use_libqt=yes])
|
||||||
|
if [[ "x$ac_cv_use_libqt" != "xno" ]]; then
|
||||||
|
qtdir="$ac_cv_use_libqt"
|
||||||
|
if [[ "x$ac_cv_use_libqt" = "xyes" ]]; then
|
||||||
|
qtdir="$QTDIR"
|
||||||
|
if [[ "x$qtdir" = "x" ]]; then
|
||||||
|
qtdir=`ls -d -1 /opt/qt-3* /usr/lib/qt-3* 2>/dev/null | tail -1`
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [[ "x$qtdir" != "x" ]]; then
|
||||||
|
AC_MSG_CHECKING([for multithreaded Qt in $qtdir])
|
||||||
|
if [[ -x "$qtdir/bin/moc" -a -f "$qtdir/lib/libqt-mt.so" -a -f "$qtdir/include/qobject.h" ]]; then
|
||||||
|
HAVE_QT=yes
|
||||||
|
QT_DIR="$qtdir"
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT([$HAVE_QT])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST(HAVE_QT)
|
||||||
|
AC_SUBST(QT_DIR)
|
||||||
|
|
||||||
RTTI_OPT=""
|
RTTI_OPT=""
|
||||||
AC_ARG_ENABLE(rtti,AC_HELP_STRING([--enable-rtti],[Enable RTTI support (default: like pwlib)]),want_rtti=$enableval,want_rtti=auto)
|
AC_ARG_ENABLE(rtti,AC_HELP_STRING([--enable-rtti],[Enable RTTI support (default: like pwlib)]),want_rtti=$enableval,want_rtti=auto)
|
||||||
AC_MSG_CHECKING([whether to enable RTTI support])
|
AC_MSG_CHECKING([whether to enable RTTI support])
|
||||||
|
@ -447,6 +470,7 @@ AC_CONFIG_FILES([yate.spec
|
||||||
scripts/Makefile
|
scripts/Makefile
|
||||||
conf.d/Makefile
|
conf.d/Makefile
|
||||||
contrib/iax/Makefile
|
contrib/iax/Makefile
|
||||||
|
contrib/qt/Makefile
|
||||||
test/Makefile])
|
test/Makefile])
|
||||||
AC_CONFIG_FILES([yate-config],[chmod +x yate-config])
|
AC_CONFIG_FILES([yate-config],[chmod +x yate-config])
|
||||||
AC_CONFIG_FILES([run],[chmod +x run])
|
AC_CONFIG_FILES([run],[chmod +x run])
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
CC := @CC@ -Wall
|
CC := @CC@ -Wall
|
||||||
AR := ar
|
AR := ar
|
||||||
RANLIB:= ranlib
|
|
||||||
SED := sed
|
SED := sed
|
||||||
DEFS :=
|
DEFS :=
|
||||||
INCLUDES := -I@top_srcdir@
|
INCLUDES := -I@top_srcdir@
|
||||||
|
@ -41,4 +40,3 @@ Makefile: @srcdir@/Makefile.in ../../config.status
|
||||||
|
|
||||||
libiax.a: $(OBJS)
|
libiax.a: $(OBJS)
|
||||||
$(AR) rcs $@ $^
|
$(AR) rcs $@ $^
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ DESTDIR :=
|
||||||
# override DEBUG at compile time to enable full debug or remove it all
|
# override DEBUG at compile time to enable full debug or remove it all
|
||||||
DEBUG :=
|
DEBUG :=
|
||||||
|
|
||||||
CC := @CXX@ -Wall
|
CXX := @CXX@ -Wall
|
||||||
SED := sed
|
SED := sed
|
||||||
DEFS :=
|
DEFS :=
|
||||||
INCLUDES := -I@top_srcdir@
|
INCLUDES := -I@top_srcdir@
|
||||||
|
@ -61,11 +61,15 @@ ifneq (@HAVE_GTK@,no)
|
||||||
PROGS := $(PROGS) gtkclient.yate
|
PROGS := $(PROGS) gtkclient.yate
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq (@HAVE_QT@,no)
|
||||||
|
PROGS := $(PROGS) qtclient.yate
|
||||||
|
endif
|
||||||
|
|
||||||
LOCALFLAGS =
|
LOCALFLAGS =
|
||||||
LOCALLIBS =
|
LOCALLIBS =
|
||||||
COMPILE = $(CC) $(DEFS) $(DEBUG) $(INCLUDES) $(CFLAGS)
|
COMPILE = $(CXX) $(DEFS) $(DEBUG) $(INCLUDES) $(CFLAGS)
|
||||||
LINK = $(CC) $(LDFLAGS)
|
LINK = $(CXX) $(LDFLAGS)
|
||||||
MODLINK = $(CC) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)
|
MODLINK = $(CXX) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)
|
||||||
MODCOMP = $(COMPILE) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)
|
MODCOMP = $(COMPILE) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)
|
||||||
|
|
||||||
prefix = @prefix@
|
prefix = @prefix@
|
||||||
|
@ -99,9 +103,6 @@ uninstall: do-uninstall
|
||||||
%.o: @srcdir@/%.cpp $(MKDEPS) $(INCFILES)
|
%.o: @srcdir@/%.cpp $(MKDEPS) $(INCFILES)
|
||||||
$(COMPILE) -c $<
|
$(COMPILE) -c $<
|
||||||
|
|
||||||
%.o: @srcdir@/%.c $(MKDEPS)
|
|
||||||
$(COMPILE) -c $<
|
|
||||||
|
|
||||||
do-all do-strip do-clean do-install do-uninstall:
|
do-all do-strip do-clean do-install do-uninstall:
|
||||||
$(if $(SUBDIRS),\
|
$(if $(SUBDIRS),\
|
||||||
@target=`echo $@ | $(SED) -e 's/^do-//'`; \
|
@target=`echo $@ | $(SED) -e 's/^do-//'`; \
|
||||||
|
@ -145,5 +146,12 @@ gsmcodec.yate: LOCALLIBS = -lgsm
|
||||||
|
|
||||||
gtkclient.yate: LOCALFLAGS = @GTK_INC@ @GTK_LIB@
|
gtkclient.yate: LOCALFLAGS = @GTK_INC@ @GTK_LIB@
|
||||||
|
|
||||||
|
qtclient.yate: ../contrib/qt/libqtclientform.a
|
||||||
|
qtclient.yate: LOCALFLAGS = -I@QT_DIR@/include
|
||||||
|
qtclient.yate: LOCALLIBS = ../contrib/qt/libqtclientform.a -L@QT_DIR@/lib -lqt-mt
|
||||||
|
|
||||||
../contrib/iax/libiax.a:
|
../contrib/iax/libiax.a:
|
||||||
$(MAKE) -C ../contrib/iax
|
$(MAKE) -C ../contrib/iax
|
||||||
|
|
||||||
|
../contrib/qt/libqtclientform.a:
|
||||||
|
$(MAKE) -C ../contrib/qt
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Makefile
|
# Makefile
|
||||||
# This file holds the make rules for the Telephony Engine test cases
|
# This file holds the make rules for the Telephony Engine test cases
|
||||||
|
|
||||||
CC := @CXX@ -Wall
|
CXX := @CXX@ -Wall
|
||||||
SED := sed
|
SED := sed
|
||||||
DEFS :=
|
DEFS :=
|
||||||
INCLUDES := -I@top_srcdir@
|
INCLUDES := -I@top_srcdir@
|
||||||
|
@ -17,9 +17,9 @@ OBJS =
|
||||||
|
|
||||||
LOCALFLAGS =
|
LOCALFLAGS =
|
||||||
LOCALLIBS =
|
LOCALLIBS =
|
||||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CFLAGS)
|
COMPILE = $(CXX) $(DEFS) $(INCLUDES) $(CFLAGS)
|
||||||
LINK = $(CC) $(LDFLAGS)
|
LINK = $(CXX) $(LDFLAGS)
|
||||||
MODLINK = $(CC) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)
|
MODLINK = $(CXX) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)
|
||||||
MODCOMP = $(COMPILE) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)
|
MODCOMP = $(COMPILE) $(MODFLAGS) $(MODSTRIP) $(LDFLAGS)
|
||||||
|
|
||||||
prefix = @prefix@
|
prefix = @prefix@
|
||||||
|
@ -39,9 +39,6 @@ clean:
|
||||||
%.o: @srcdir@/%.cpp $(MKDEPS) @top_srcdir@/telengine.h
|
%.o: @srcdir@/%.cpp $(MKDEPS) @top_srcdir@/telengine.h
|
||||||
$(COMPILE) -c $<
|
$(COMPILE) -c $<
|
||||||
|
|
||||||
%.o: @srcdir@/%.c $(MKDEPS)
|
|
||||||
$(COMPILE) -c $<
|
|
||||||
|
|
||||||
Makefile: @srcdir@/Makefile.in $(MKDEPS)
|
Makefile: @srcdir@/Makefile.in $(MKDEPS)
|
||||||
cd .. && ./config.status
|
cd .. && ./config.status
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue