#!/opt/SUNWstade/bin/perl -I/opt/SUNWstade/lib
#<copyright>
# ----------------------------------------------------------
# Sun Proprietary/Confidential Code
# Copyright 2001, Sun Microsystems, Inc. All rights reserved.
# ----------------------------------------------------------
#</copyright>


$dir = `pwd`;
chop($dir);

if (!$ARGV[0]) {
   print "Usage: ptry TapeAgent.pm";
  exit;
}
for ($x=0; $x <= $#ARGV; $x++ ) {

   $mod = $ARGV[$x];
   $mod =~ s/\.pm//;
   
   $ix = index($dir, "\/lib\/");
   if ($ix >= 0 ) {
     $pack = substr($dir, $ix+5);
     $lib = substr($dir, 0, $ix) ."/lib"; 
     $pack .= "::$mod";
   } else {
     $pack = $mod;
     $lib = $dir;
   }
   
   $pack0 = $pack;
   $pack0 = substr($pack,7) if (substr($pack,0,7) eq "Agent::");  

   open(O, ">/tmp/ptry.txt");
   print O "use $pack;\n";
   print O <<EOF;
 \@LIST = ('isSelectable','new','DESTROY','RUN','REPORT','FCCounters');

 print "\\n";
 foreach \$met (\@LIST) {
   if (! $pack0->can(\$met)) {
     print "Error: Cannot find module \$met in $pack0 \\n";
     \$err = 1;
   }
 }
 if (\$err) {
   print "Missing interface methods, aborting. \\n\\n";
 } else {
   print "Looking good...\\n";
 }

EOF
   close(O);
   print "perl -I$lib\nuse $pack;\n";
   
   print `/opt/bin/perl -I$lib /tmp/ptry.txt`;
   
}
