move CPE specific stuff back into CWMP::Vendor
[perl-cwmp.git] / bin / acs.pl
index c472fd6..c524bff 100755 (executable)
@@ -8,34 +8,52 @@ use strict;
 
 use lib './lib';
 use CWMP::Server;
+use CWMP::Session;
 use Getopt::Long;
+use Data::Dump qw/dump/;
+use File::Find;
+
+#use Devel::LeakTrace::Fast;
 
 my $port = 3333;
 my $debug = 0;
 my $store_path = './';
 my $store_plugin = 'YAML';
+my $create_dump = 1;
 
 GetOptions(
        'debug+' => \$debug,
        'port=i' => \$port,
        'store-path=s' => \$store_path,
        'store-plugin=s' => \$store_plugin,
+       'create_dump!' => \$create_dump,
 );
 
+if ( $create_dump ) {
+       warn "## cleaning dump directory\n" if $debug;
+       find({
+               wanted => sub {
+                       my $path = $File::Find::name;
+                       return if -d $path;
+                       unlink($path) || die "can't remove $path: $!";
+                       warn "## removed $path\n" if $debug;
+               },
+               no_chdir => 1,
+       }, 'dump/' );
+}
+
 my $server = CWMP::Server->new({
        port => $port,
-       store => {
-               module => $store_plugin,
-               path => $store_path,
-               debug => $debug,
+       session => {
+               store => {
+                       module => $store_plugin,
+                       path => $store_path,
+                       debug => $debug,
+               },
+               create_dump => $create_dump,
        },
        debug => $debug,
-       default_queue => [
-               'GetRPCMethods',
-               [ 'GetParameterNames', 'InternetGatewayDevice.DeviceInfo.SerialNumber', 0 ],
-               [ 'GetParameterValues', 'InternetGatewayDevice.DeviceInfo.SerialNumber', 1 ],
-#              'Reboot',
-       ],
 });
+
 $server->run();