/usr/local/CPAN/Fierce-Parser/Fierce/Parser/Session.pm
# $Id: Session.pm 297 2009-11-16 04:37:07Z jabra $
package Fierce::Parser::Session;
{
our $VERSION = '0.01';
$VERSION = eval $VERSION;
use Object::InsideOut;
use XML::LibXML;
use Fierce::Parser::DomainScanDetails;
my @options : Field : Arg(options) : All(options);
my @startscan : Field : Arg(startscan) : All(startscan);
my @startscanstr : Field : Arg(startscanstr) : All(startscanstr);
my @endscan : Field : Arg(endscan) : All(endscan);
my @endscanstr : Field : Arg(endscanstr) : All(endscanstr);
my @elapsedtime : Field : Arg(elapsedtime) : All(elapsedtime);
my @fversion : Field : Arg(fversion) : All(fversion);
my @xmlversion : Field : Arg(xmlversion) : All(xmlversion);
my @domainscandetails : Field : Arg(domainscandetails) :
Get(domainscandetails) : Type(Fierce::Parser::DomainScanDetails);
sub parse {
my ( $self, $parser, $doc ) = @_;
my ( $endscan, $endscanstr, $elapsedtime );
foreach my $fiercescan ( $doc->getElementsByTagName('fiercescan') ) {
foreach my $end ( $fiercescan->getElementsByTagName('endscan') ) {
$endscan = $end->getAttribute('endtime');
$endscanstr = $end->getAttribute('endtimestr');
$elapsedtime = $end->getAttribute('elapsedtime');
}
return Fierce::Parser::Session->new(
options => $fiercescan->getAttribute('args'),
startscan => $fiercescan->getAttribute('startscan'),
startscanstr => $fiercescan->getAttribute('startscanstr'),
fversion => $fiercescan->getAttribute('fversion'),
xmlversion => $fiercescan->getAttribute('xmlversion'),
endscan => $endscan,
endscanstr => $endscanstr,
elapsedtime => $elapsedtime,
domainscandetails =>
Fierce::Parser::DomainScanDetails->parse( $parser, $doc ),
);
}
}
}
1;