MacOSX-File
view release on metacpan or search on metacpan
Info/Info.pm view on Meta::CPAN
[Vv] -invisible Invisible*
[Bb] -bundle Bundle
[Ss] -system System (name locked)
[Tt] -stationery Stationary
[Cc] -customicon Custom icon*
[Ll] -locked Locked
[Ii] -inited Inited*
[Nn] -noinit No INIT resources
[Mm] -shared Shared (can run multiple times)
[Ee] -hiddenx Hidden extension*
[Dd] -desktop Desktop*
Attributes with asterisk can be applied to folders and files. Any
other can be applied to files only.
ex)
$attr = $finfo->flags("avbstclinmed");
# unflag eveythinng
$attr = $finfo->flags("L");
# locks file with the rest of attributes untouched
$attr = $finfo->flags(-locked => 1);
Info/Info.pm view on Meta::CPAN
-invisible v
-bundle b
-system s
-stationery t
-customicon c
-locked l
-inited i
-noinit n
-shared m
-hiddenx e
-desktop d
);
my %Letter2Key = reverse %Key2Letter;
my @Letters = qw(a v b s t c l i n m e d);
my %key2Flags =
(
-alias => kIsAlias,
-invisible => kIsInvisible,
-bundle => kHasBundle,
-system => kNameLocked,
-stationery => kIsStationery,
-customicon => kHasCustomIcon,
-locked => kFSNodeLockedMask,
-inited => kHasBeenInited,
-noinit => kHasNoINITs,
-shared => kIsShared,
-hiddenx => kIsHiddenExtention,
-desktop => kIsOnDesk,
);
sub locked{
my $self = shift;
return $self->nodeFlags & kFSNodeLockedMask;
}
sub lock{
my $self = shift;
$self->[1] = $self->nodeFlags | kFSNodeLockedMask;
Info/Info.pm view on Meta::CPAN
-invisible => $fdFlags & kIsInvisible,
-bundle => $fdFlags & kHasBundle,
-system => $fdFlags & kNameLocked,
-stationery => $fdFlags & kIsStationery,
-customicon => $fdFlags & kHasCustomIcon,
-locked => $nodeFlags & kFSNodeLockedMask,
-inited => $fdFlags & kHasBeenInited,
-noinit => $fdFlags & kHasNoINITs,
-shared => $fdFlags & kIsShared,
-hiddenx => $fdFlags & kIsHiddenExtention,
-desktop => $fdFlags & kIsOnDesk,
);
my $attrib = "";
unless (@_){
wantarray and return %attrib;
for my $l (@Letters){
$attrib .= $attrib{$Letter2Key{$l}} ? uc($l) : $l;
}
return $attrib;
}
if (scalar(@_) == 1){ # Letter notation
( run in 0.621 second using v1.01-cache-2.11-cpan-299005ec8e3 )