8 |
|
|
9 |
use lib './lib'; |
use lib './lib'; |
10 |
use CWMP::Server; |
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; |
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 |
|
|
|
my $server = CWMP::Server->new({ port => $port, debug => 1 }); |
|
59 |
$server->run(); |
$server->run(); |
60 |
|
|