[Freeswitch-svn] [commit] r3538 - freeswitch/branches/igorneves/scripts/socket
Freeswitch SVN
igorneves at freeswitch.org
Tue Dec 5 06:59:20 EST 2006
Author: igorneves
Date: Tue Dec 5 06:59:19 2006
New Revision: 3538
Modified:
freeswitch/branches/igorneves/scripts/socket/fsconsole.pl
Log:
corrected status bar, added a clean func (not finish yet), added suport for "!ls"
Modified: freeswitch/branches/igorneves/scripts/socket/fsconsole.pl
==============================================================================
--- freeswitch/branches/igorneves/scripts/socket/fsconsole.pl (original)
+++ freeswitch/branches/igorneves/scripts/socket/fsconsole.pl Tue Dec 5 06:59:19 2006
@@ -9,7 +9,6 @@
use POE qw/Filter::FSSocket Component::Client::TCP/;
use Data::Dumper;
use Term::Visual;
-use Sys::Hostname;
local *D;
if (Term::Visual::DEBUG) {
@@ -63,7 +62,8 @@
'update_time' => \&handle_update_time, #update the status line clock
'quit' => \&handle_quit, #handler to do any cleanup
'server_input' => \&handle_server_input,
- '_default' => \&handle_default,
+ 'clean' => \&handle_curses_clean,
+ '_default' => \&handle_default,
},
'heap' => {
'terminal' => undef,
@@ -101,11 +101,11 @@
my $window_id = $terminal->create_window(
'Window_Name' => 'console',
'Buffer_Size' => 3000,
- 'Title' => 'FreeSWITCH Console @ '.hostname,
+ 'Title' => 'FreeSWITCH Console',
'Status' => {
'0' => {
- 'format' => '%s',
- 'fields' => ['time'],
+ 'format' => '%s - %s',
+ 'fields' => [qw( host time )],
},
'1' => {
'format' => '%s',
@@ -157,7 +157,7 @@
$terminal->change_window(0);
$kernel->delay_set('update_time' => 1);
- $terminal->set_status_field(0, 'time' => scalar(localtime));
+ $terminal->set_status_field(0, 'host' => $server_address, 'time' => scalar(localtime));
new_message('destination_window' => 0, 'message' => "
Welcome to the FreeSWITCH POE Curses Console!
The console is split into three windows:
@@ -204,9 +204,20 @@
open(ERROR, ">>error.log");
- if($input =~ /^\s*(exit)|(quit)\s*$/) {
- $kernel->yield('quit');
- } elsif ($input =~ /^w\ (.*)$/) {
+ if($input =~ /^\s*(exit)|(quit)\s*$/){
+ $kernel->yield('quit');
+ }
+ if($input =~ /^\s*(clean)\s*$/){
+ $kernel->yield('clean');
+ }
+ if($input =~ /^!{1}(.*)/) {
+ if(defined($window)) {
+ my $output = qx($1);
+ new_message('destination_window' => $window, 'message' => $output);
+ }
+ }
+
+ elsif ($input =~ /^w\ (.*)$/) {
#get the id of the requested window
eval {
my $window_id = $windows{$1};
@@ -310,8 +321,13 @@
sub handle_update_time {
my ($kernel, $heap) = @_[KERNEL, HEAP];
- $terminal->set_status_field($terminal->current_window, 'time' => scalar(localtime));
+ $terminal->set_status_field($terminal->current_window, 'host' => $server_address, 'time' => scalar(localtime));
$kernel->delay_set('update_time' => 1);
+}
+
+sub handle_curses_clean {
+ my ($kernel, $heap) = @_[KERNEL, HEAP];
+ #TODO
}
###############################################################################
## END Handlers #############################################################
More information about the Freeswitch-svn
mailing list