diff options
Diffstat (limited to 'abs/mv-core/ghosd/osdServer.pl')
-rwxr-xr-x | abs/mv-core/ghosd/osdServer.pl | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/abs/mv-core/ghosd/osdServer.pl b/abs/mv-core/ghosd/osdServer.pl deleted file mode 100755 index 8cd62b7..0000000 --- a/abs/mv-core/ghosd/osdServer.pl +++ /dev/null @@ -1,189 +0,0 @@ -#!/usr/bin/perl -w -# osdServer.pl - process incoming text events based on keyword matching and -# display using Ghosd -use strict; -use FileHandle; -use Socket; -use Thread; -use Config; -use Thread qw(async); - -if( @ARGV != 1 ){ die "specify a port to listen on " } -my %osdHash = (); -my $proto = ""; -my $port = ""; -my $port1 = ""; -my $sockAddr = ""; -my $sockAddr1= ""; -my $fullCmd = ""; -my $fullCmd1 = ""; - -# readKeyWordFile reads type, keywords, (text/image) parameters -# text parameters: -# X coordinate, Y coordinate, red, green, blue, font size, fade In, fade Out -# image parameters: -# image filename, X coordinate, Y coordinate -# osdServer.confg format is: type _#_ keywords _#_ osd parameters -sub readOsdFile -{ - open(OSDFILE,"/etc/osdServer.config") or die "no osdServer.config file: $!"; - - while(<OSDFILE>){ - - # ignore comment lines - if( !/^#/ ){ - chomp($_); - my @arrLine = split "_#_"; - $arrLine[0] =~ s/ //g; - $osdHash{ lc($arrLine[0]) }{ $arrLine[1] } = $arrLine[2]; - }#if not a comment line - - }#for each line in file - - close(OSDFILE); - -}#readOsdFile - -sub matchWords -{ - my $msgString = $_[0]; - my $type = $_[1]; -# print "msgstring $msgString \n"; - - # print "type $type\n " ; - # for the type specified - for my $kwList ( keys %{ $osdHash{$type} } ) - { - # for each word - for my $checkWord ( split " ", $kwList ) - { - $checkWord =~ s/ //g; - if( $msgString =~ /$checkWord/i ) - { - if( $type eq "text" ) - { - $fullCmd .= qq{./text '$msgString' $osdHash{text}{$kwList} &}; - - #print "$fullCmd\n"; - }else - { - my @realstring = split(/:::/, $msgString); - print "$realstring[0] \n"; - $fullCmd .= qq{/usr/bin/imageGhosd -i $osdHash{image}{$kwList} '$realstring[0]' &}; -# print "full $fullCmd\n"; - #print "msgstring- $msgString \n"; - } - }#if matching word - }#for each check word - }#for each key word list - -}#checkText - -sub matchWords1 -{ - my $msgString = $_[0]; - my $type = $_[1]; -# print "msgstring $msgString \n"; - print "Here ia m" ; - # print "type $type\n " ; - # for the type specified - for my $kwList ( keys %{ $osdHash{$type} } ) - { - # for each word - for my $checkWord ( split " ", $kwList ) - { - $checkWord =~ s/ //g; - if( $msgString =~ /$checkWord/i ) - { - if( $type eq "text" ) - { - $fullCmd1 .= qq{./text '$msgString' $osdHash{text}{$kwList} &}; - - #print "$fullCmd\n"; - }else - { - my @realstring = split(/:::/, $msgString); - print "$realstring[0] \n"; - $fullCmd1 .= qq{/usr/bin/imageGhosd -i $osdHash{image}{$kwList} '$realstring[0]' &}; - print "full $fullCmd1\n"; - #print "msgstring- $msgString \n"; - } - }#if matching word - }#for each check word - }#for each key word list -} - -sub sub1 { - while( 1 ) - { - my $acceptSock1 = accept(HANDLER, SERVER1) or die "accept: $!\n"; - my($acceptPort1, $acceptIpAddr) = sockaddr_in($acceptSock1); - - autoflush HANDLER 1; - while(my $msgString1 = <HANDLER>) - { - chomp($msgString1); - matchWords1($msgString1,"text"); - matchWords1($msgString1,"image"); - - $fullCmd1 = `$fullCmd1` unless $fullCmd1 eq ""; - $fullCmd1 = ""; - }#while handler - - close HANDLER or die "close HANDLER: $!\n"; - }#while forever -} - -# begin main program - -readOsdFile(); - -$proto = getprotobyname('tcp'); -socket(SERVER, PF_INET, SOCK_STREAM, $proto) or die "socket: $!\n"; -socket(SERVER1, PF_INET, SOCK_STREAM, $proto) or die "socket: $!\n"; - -$port = $ARGV[0]; -$port1 = $port + 1; -$port1 = 5001; - -$sockAddr = sockaddr_in($port, INADDR_ANY); -$sockAddr1 = sockaddr_in($port1, INADDR_ANY); - -bind(SERVER, $sockAddr) or die "bind: $!\n"; -bind(SERVER1, $sockAddr1) or die "bind: $!\n"; - -listen(SERVER, SOMAXCONN) or die "listen: $!\n"; -listen(SERVER1, SOMAXCONN) or die "listen: $!\n"; - - - -$Config{usethreads} or die "Recompile Perl with threads to run this program."; - -my $thr = threads->new(\&sub1); - - - - -#listen foreve - -while( 1 ) -{ - my $acceptSock = accept(HANDLER, SERVER) or die "accept: $!\n"; - my($acceptPort, $acceptIpAddr) = sockaddr_in($acceptSock); - - autoflush HANDLER 1; - while(my $msgString = <HANDLER>) - { - chomp($msgString); - - matchWords($msgString,"text"); - matchWords($msgString,"image"); - - $fullCmd = `$fullCmd` unless $fullCmd eq ""; - $fullCmd = ""; - }#while handler - - close HANDLER or die "close HANDLER: $!\n"; - -}#while forever - |