#!/usr/bin/perl
package Listfilestore;
use strict;
use Data::Dumper;
use base qw(BasicCommandlineOptions);


#Use the SOAP::Lite Perl module
#use SOAP::Lite +trace => 'debug';
use SOAP::Lite;

my $test = new Listfilestore();
$test->doRequest();

sub new {
	my ($inPkg) = @_;
	my $self = BasicCommandlineOptions->new();
	
	bless $self, $inPkg;
    return $self;
}

sub doRequest {
   	my $inSelf = shift;
    my $soap = SOAP::Lite->ns( $inSelf->{'serviceNs'} )->proxy( $inSelf->{'basisUrl'}."OXUtilService" );
    
    my $pattern = SOAP::Data->value("*");
    my $creds = SOAP::Data->type("Credentials")->value(\SOAP::Data->value(SOAP::Data->name("login" => "oxadminmaster"),SOAP::Data->name("password" => "secret")));
    
    my $som_entry = 
      $soap->listFilestore($pattern,$creds);
    
    if ( $som_entry->fault() ) {
        $inSelf->fault_output($som_entry);
    } else {
        my $fields = [ "id", "url", "size", "reserved", "used", "maxContexts", "currentContexts" ];
        
        my @results = $som_entry->paramsall;
	#print Dumper(@results);
        
        my @data = $inSelf->SUPER::fetch_results($fields, \@results);
        
        $inSelf->doCSVOutput($fields, \@data);
    }

}

exit;

