dect
/
asterisk
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
asterisk/pbx/pbx_kdeconsole_main.cc

82 lines
1.4 KiB
C++
Executable File

/*
* Asterisk -- A telephony toolkit for Linux.
*
* KDE Console monitor -- Mostly glue code
*
* Copyright (C) 1999, Mark Spencer
*
* Mark Spencer <markster@linux-support.net>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#include "asterisk/module.h"
#include "asterisk/channel.h"
#include "asterisk/logger.h"
#include "asterisk/lock.h"
#include "pbx_kdeconsole.h"
static char *dtext = "KDE Console Monitor";
static int inuse = 0;
static KAsteriskConsole *w;
static void verboser(char *stuff, int opos, int replacelast, int complete)
{
const char *s2[2];
s2[0] = stuff;
s2[1] = NULL;
if (replacelast) {
printf("Removing %d\n", w->verbose->count());
w->verbose->removeItem(w->verbose->count());
}
w->verbose->insertStrList(s2, 1, -1);
w->verbose->setBottomItem(w->verbose->count());
}
static int kde_main(int argc, char *argv[])
{
KApplication a ( argc, argv );
w = new KAsteriskConsole();
a.setMainWidget(w);
w->show();
ast_register_verbose(verboser);
return a.exec();
}
static void *kdemain(void *data)
{
/* It would appear kde really wants to be main */;
char *argv[1] = { "asteriskconsole" };
kde_main(1, argv);
return NULL;
}
extern "C" {
int unload_module(void)
{
return inuse;
}
int load_module(void)
{
pthread_t t;
pthread_create(&t, NULL, kdemain, NULL);
return 0;
}
int usecount(void)
{
return inuse;
}
char *description(void)
{
return dtext;
}
}