home *** CD-ROM | disk | FTP | other *** search
/ CLIX - Fazer Clix Custa Nix / CLIX-CD.cdr / mac / lib / Mac / MoreFiles.pm < prev    next >
Text File  |  1998-04-05  |  2KB  |  97 lines

  1. =head1 NAME
  2.  
  3. Mac::MoreFiles - Sophisticated file management routines
  4.  
  5. =head1 SYNOPSIS
  6.  
  7.     use Mac::MoreFiles;
  8.     
  9.     $application = $Application{"MrPL"};
  10.  
  11. =head1 DESCRIPTION
  12.  
  13. =cut
  14.  
  15. use strict;
  16.  
  17. package Mac::MoreFiles;
  18.  
  19. BEGIN {
  20.     use Exporter   ();
  21.     use DynaLoader ();
  22.     
  23.     use vars qw(@ISA @EXPORT %Application);
  24.     
  25.     @ISA = qw(Exporter DynaLoader);
  26.     @EXPORT = qw(
  27.         FSpCreateMinimum
  28.         FSpShare
  29.         FSpUnshare
  30.         FSpFileCopy
  31.         FSpDirectoryCopy
  32.         FSpIterateDirectory
  33.         FSpDTGetAPPL
  34.         FSpDTSetComment
  35.         FSpDTGetComment
  36.         FSpDTCopyComment
  37.         
  38.         %Application
  39.     );
  40. }
  41.  
  42. package Mac::MoreFiles::_ApplHash;
  43.  
  44. BEGIN {
  45.     use Tie::Hash ();
  46.  
  47.     use vars qw(@ISA);
  48.     
  49.     @ISA = qw(Tie::StdHash);
  50. }
  51.  
  52. sub FETCH {
  53.     my($self,$id) = @_;
  54.     my($vol,$app);
  55.     
  56.     if (!$self->{$id}) {
  57.         for $vol (MacPerl::Volumes()) {
  58.             $app = Mac::MoreFiles::FSpDTGetAPPL(hex(substr($vol, 1, 4)), $id);
  59.             last if ($app);
  60.         }
  61.         $self->{$id} = $app;
  62.     }
  63.     $self->{$id};
  64. }
  65.  
  66. package Mac::MoreFiles;
  67.  
  68. =head2 Variables
  69.  
  70. =over 4
  71.  
  72. =item %Application
  73.  
  74. The C<%Application> hash will return the path to the application for a given 
  75. signature, searching on all mounted volumes.
  76.  
  77. =back
  78.  
  79. =cut
  80. tie %Application, q(Mac::MoreFiles::_ApplHash);
  81.  
  82. bootstrap Mac::MoreFiles;
  83.  
  84. =include MF.xs
  85.  
  86. =head1 AUTHOR(S)
  87.  
  88. Matthias Ulrich Neeracher <neeri@iis.ee.ethz.ch> Author
  89.  
  90. Bob Dalgleish <bob.dalgleish@sasknet.sk.ca> Documenter
  91.  
  92. =cut
  93.  
  94. 1;
  95.  
  96. __END__
  97.