#!/usr/bin/perl
#  $Id: pm_list 22944 2011-06-10 13:16:24Z abaranetsky $
# -----------------------------------------------------------------------------
#  Name:       pm_list
#  Purpose:    display list of registered processes
#  Parameters: none
#
#  env:        following variables are required:  APL
# -----------------------------------------------------------------------------
#  Author: A Baranetsky
#  Edited by: A Baranetsky
#  QA by:  Christopher C Gettings
#  Copyright: videoNEXT LLC
# -----------------------------------------------------------------------------

use strict;
use warnings;
use DBI;
use SKM::DB;

my @headers = (
	{ name => 'procname', len => 8 },
	{ name => 'startup', len => 7 },
	{ name => 'check.time', len => 10 },
);
my $totalRows = 0;

my $dbh = DBNode({'PrintError'=>1,'RaiseError'=>1});
my $rows = $dbh->selectall_arrayref('SELECT procname, startup, check_time FROM processes ORDER BY procname');
$dbh->disconnect();

if (@$rows) {
	$totalRows = scalar(@$rows);
	foreach my $r (@$rows) {
		my $len = length($r->[0]);
		$headers[0]{len} = $len if ($headers[0]{len} < $len);
	}

	my $formatStr = "%-$headers[0]{len}s  %$headers[1]{len}s  %$headers[2]{len}s\n";
	
	printf($formatStr, $headers[0]{name}, $headers[1]{name}, $headers[2]{name});
	printf($formatStr, ('-' x $headers[0]{len}), ('-' x $headers[1]{len}), ('-' x $headers[2]{len}));

	foreach my $row (@$rows) {
		printf($formatStr, $row->[0], $row->[1], $row->[2]);
	}

}
print "Total $totalRows processes\n";

