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 |
my $port = 3333; |
18 |
my $debug = 0; |
19 |
my $store_path = './'; |
20 |
my $store_plugin = 'YAML'; |
21 |
my $create_dump = 1; |
22 |
|
23 |
GetOptions( |
24 |
'debug+' => \$debug, |
25 |
'port=i' => \$port, |
26 |
'store-path=s' => \$store_path, |
27 |
'store-plugin=s' => \$store_plugin, |
28 |
'create_dump!' => \$create_dump, |
29 |
); |
30 |
|
31 |
if ( $create_dump ) { |
32 |
warn "## cleaning dump directory\n" if $debug; |
33 |
find({ |
34 |
wanted => sub { |
35 |
my $path = $File::Find::name; |
36 |
return if -d $path; |
37 |
unlink($path) || die "can't remove $path: $!"; |
38 |
warn "## removed $path\n" if $debug; |
39 |
}, |
40 |
no_chdir => 1, |
41 |
}, 'dump/' ); |
42 |
} |
43 |
|
44 |
my $server = CWMP::Server->new({ |
45 |
port => $port, |
46 |
session => { |
47 |
store => { |
48 |
module => $store_plugin, |
49 |
path => $store_path, |
50 |
debug => $debug, |
51 |
}, |
52 |
create_dump => $create_dump, |
53 |
}, |
54 |
debug => $debug, |
55 |
}); |
56 |
|
57 |
CWMP::Vendor->add_triggers; |
58 |
|
59 |
$server->run(); |
60 |
|