| 1 |
cvsjoko |
1.1 |
#!/usr/bin/perl |
| 2 |
cvsjoko |
1.3 |
## |
| 3 |
|
|
## psh -- Perl Shell |
| 4 |
|
|
## |
| 5 |
|
|
## Opens a Login-Shell/Terminal and sends typed commands either |
| 6 |
|
|
## to its Core or to a certain handler via a Connector. |
| 7 |
|
|
## |
| 8 |
|
|
## Core |
| 9 |
|
|
## The core is used both in "Perl Shell" (psh.pl) |
| 10 |
|
|
## and "Perl Shell Daemon" (pshd.pl) |
| 11 |
|
|
## |
| 12 |
|
|
## Connector |
| 13 |
|
|
## It can use various Connectors |
| 14 |
|
|
## to recieve data (LocalFile, TcpHttp, TcpRpcXml). |
| 15 |
|
|
## |
| 16 |
|
|
## Login-Shell |
| 17 |
|
|
## psh spawns a "Login-Shell" after start. It's Terminal sends |
| 18 |
|
|
## commands to a Connector or directly to the core. |
| 19 |
|
|
## |
| 20 |
|
|
## psh/pshd relies on POE to by asynchronous, it won't work without it! |
| 21 |
|
|
## |
| 22 |
|
|
## You will also need some POE-Components which may not be |
| 23 |
|
|
## available on CPAN and a bunch of "standard" Perl-Modules you |
| 24 |
|
|
## can download from there. Some POE versions on CPAN seem to |
| 25 |
|
|
## be not quite up-to-date sometimes, so i tried to include all needed |
| 26 |
|
|
## Perl-Modules for linux/win32 in '../perl-libs'. |
| 27 |
|
|
## |
| 28 |
|
|
## |
| 29 |
|
|
## $Id$ |
| 30 |
|
|
## |
| 31 |
|
|
## $Log$ |
| 32 |
|
|
## |
| 33 |
|
|
## |
| 34 |
cvsjoko |
1.1 |
|
| 35 |
|
|
use strict; |
| 36 |
cvsjoko |
1.3 |
use warnings; |
| 37 |
cvsjoko |
1.1 |
|
| 38 |
|
|
BEGIN { |
| 39 |
|
|
sub RUNNING_IN_HELL () { $^O eq 'MSWin32' } |
| 40 |
|
|
if (RUNNING_IN_HELL()) { |
| 41 |
cvsjoko |
1.2 |
push @INC, '../perl-libs/lib_win32'; |
| 42 |
cvsjoko |
1.1 |
} else { |
| 43 |
cvsjoko |
1.2 |
push @INC, '../perl-libs/lib_linux'; |
| 44 |
cvsjoko |
1.1 |
} |
| 45 |
cvsjoko |
1.2 |
push @INC, '../perl-libs/lib_poe'; |
| 46 |
cvsjoko |
1.1 |
} |
| 47 |
|
|
|
| 48 |
|
|
use lib 'lib'; |
| 49 |
|
|
use MJAM; |
| 50 |
|
|
use POE; |
| 51 |
|
|
|
| 52 |
|
|
MJAM::Command::Core::start('cmdcore'); |
| 53 |
|
|
|
| 54 |
|
|
# start a core-shell-console |
| 55 |
|
|
#$poe_kernel->post( cmdcore => docmd => 'tell console start core-shell'); |
| 56 |
|
|
|
| 57 |
|
|
# start a login-shell-console |
| 58 |
|
|
$poe_kernel->post( cmdcore => docmd => 'tell console start login-shell'); |
| 59 |
|
|
|
| 60 |
|
|
$poe_kernel->run(); |