#!/usr/bin/perl -w

=head1 NAME

octo_statistics_reporter - Octopussy Statistics Reporter program

=head1 SYNOPSIS

octo_statistics_reporter <statistics_report> 

=head1 DESCRIPTION

octo_statistics_reporter is the program used by the Octopussy Project 
to generate Statistics Reports

=cut

use strict;
use warnings;
use Readonly;

use Linux::Inotify2;

use AAT;
use Octopussy;
use Octopussy::FS;

Readonly my $PROG_NAME => 'octo_statistics_reporter';

my $dir_program = Octopussy::FS::Directory('programs');
my $dir_pid     = Octopussy::FS::Directory('running');
my $report      = $ARGV[0];

#
# MAIN
#
exit if (!Octopussy::Valid_User($PROG_NAME));

AAT::Syslog($PROG_NAME, "Report: $report Started !");
while (!$exit_request)
{
    my @events = $inotify->read;
    foreach my $e (@events) { Inotify_Watch($e->fullname); }
    while ($file = shift @files)
    {
        chomp $file;
        if   (scalar @services == 0) { Incoming_To_Unknown($file); }
        else                         { File_Handler($file); }
        last if ($reload_request || $exit_request);
    }
    if (!$exit_request) { sleep 2; }
}
unlink $file_pid;
AAT::Syslog($PROG_NAME, "Report: $report Stopped !");

=head1 AUTHOR

Sebastien Thebert <octo.devel@gmail.com>

=head1 SEE ALSO

octo_dispatcher, octo_extractor, octo_uparser, octo_reporter, octo_scheduler

=cut
