r248@brr: dpavlin | 2007-11-20 14:08:48 +0100
[perl-cwmp.git] / bin / acs.pl
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