mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			82 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
 * 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;
 | 
						|
}
 | 
						|
 | 
						|
}
 |