1 |
#!/usr/bin/perl -w |
2 |
|
3 |
# acs.pl |
4 |
# |
5 |
# 06/18/07 09:19:54 CEST Dobrica Pavlinusic <dpavlin@rot13.org> |
6 |
|
7 |
use strict; |
8 |
|
9 |
use lib './lib'; |
10 |
use CWMP::Server; |
11 |
use CWMP::Session; |
12 |
use CWMP::Vendor; |
13 |
use Getopt::Long; |
14 |
use Data::Dump qw/dump/; |
15 |
use File::Find; |
16 |
|
17 |
use Devel::LeakTrace::Fast; |
18 |
|
19 |
my $port = 3333; |
20 |
my $debug = 0; |
21 |
my $store_path = './'; |
22 |
my $store_plugin = 'YAML'; |
23 |
my $create_dump = 1; |
24 |
|
25 |
GetOptions( |
26 |
'debug+' => \$debug, |
27 |
'port=i' => \$port, |
28 |
'store-path=s' => \$store_path, |
29 |
'store-plugin=s' => \$store_plugin, |
30 |
'create_dump!' => \$create_dump, |
31 |
); |
32 |
|
33 |
if ( $create_dump ) { |
34 |
warn "## cleaning dump directory\n" if $debug; |
35 |
find({ |
36 |
wanted => sub { |
37 |
my $path = $File::Find::name; |
38 |
return if -d $path; |
39 |
unlink($path) || die "can't remove $path: $!"; |
40 |
warn "## removed $path\n" if $debug; |
41 |
}, |
42 |
no_chdir => 1, |
43 |
}, 'dump/' ); |
44 |
} |
45 |
|
46 |
my $server = CWMP::Server->new({ |
47 |
port => $port, |
48 |
session => { |
49 |
store => { |
50 |
module => $store_plugin, |
51 |
path => $store_path, |
52 |
debug => $debug, |
53 |
}, |
54 |
create_dump => $create_dump, |
55 |
}, |
56 |
debug => $debug, |
57 |
}); |
58 |
|
59 |
CWMP::Vendor->add_triggers; |
60 |
|
61 |
$server->run(); |
62 |
|