NAME

    Mac::SystemDirectory - Locate Mac OS X Standard System Directories


SYNOPSIS

      use Mac::SystemDirectory qw[:all];
  

      $path = FindDirectory(NSDocumentDirectory);
      $path = HomeDirectory();
      $path = TemporaryDirectory();


DESCRIPTION

    Locate Mac OS X Standard System Directories


FUNCTIONS

    FindDirectory(Directory [, DomainMask])

        Creates a list of path strings for the specified directories in the
        specified domains. The list is in the order in which you should
        search the directories.


        *Usage*


            $path  = FindDirectory(NSApplicationDirectory);
            @paths = FindDirectory(NSApplicationDirectory);


        *Arguments*


        Directory

            "Directory" constant.


        DomainMask (optional)

            "DomainMask" constant. Defaults to "NSUserDomainMask".


        *Returns*


        When called in scalar context this function returns the first
        matching directory. In list context it returns all matching
        directories. If no directories are found, undef is returned in a
        scalar context and an empty list in a list context.


    HomeDirectory()

        Path to the current user's home directory.


        *Usage*


            $path = HomeDirectory();


        *Returns*


        A string containing the path of the current user's home directory.


    TemporaryDirectory()

        Path to the current user's temporary directory.


        *Usage*


            $path = TemporaryDirectory();


        *Returns*


        A string containing the path of the temporary directory for the
        current user. If no such directory is currently available, returns
        undef.


CONSTANTS

  DomainMask

    Bitmask constants that identify the file-system domain (User, System,
    Local, Network) or all domains.


    NSUserDomainMask

        The user's home directory-the place to install user's personal items
        (~).


        Available in Mac OS X v10.0 and later.


    NSLocalDomainMask

        Local to the current machine-the place to install items available to
        everyone on this machine.


        Available in Mac OS X v10.0 and later.


    NSNetworkDomainMask

        Publicly available location in the local area network-the place to
        install items available on the network (/Network).


        Available in Mac OS X v10.0 and later.


    NSSystemDomainMask

        Provided by Apple - can't be modified (/System).


        Available in Mac OS X v10.0 and later.


    NSAllDomainsMask

        All domains. Includes all of the above and future items.


        Available in Mac OS X v10.0 and later.


  Directory

    Constants that identify the name or type of directory (for example,
    Library, Documents, or Applications).


    NSApplicationDirectory

        Supported applications (/Applications).


        Available in Mac OS X v10.0 and later.


    NSDemoApplicationDirectory

        Unsupported applications and demonstration versions.


        Available in Mac OS X v10.0 and later.


    NSDeveloperApplicationDirectory

        Developer applications (/Developer/Applications).


        Available in Mac OS X v10.0 and later.


    NSAdminApplicationDirectory

        System and network administration applications.


        Available in Mac OS X v10.0 and later.


    NSLibraryDirectory

        Various user-visible documentation, support, and configuration files
        (/Library).


        Available in Mac OS X v10.0 and later.


    NSDeveloperDirectory

        Developer resources (/Developer). Deprecated: Beginning with Xcode
        3.0, developer tools can be installed in any location.


        Available in Mac OS X v10.0 and later.


    NSUserDirectory

        User home directories (/Users).


        Available in Mac OS X v10.0 and later.


    NSDocumentationDirectory

        Documentation.


        Available in Mac OS X v10.0 and later.


    NSDocumentDirectory

        Document directory.


        Available in Mac OS X v10.2 and later.


    NSCoreServiceDirectory

        Location of core services (System/Library/CoreServices).


        Available in Mac OS X v10.4 and later.


    NSAutosavedInformationDirectory

        Location of user's autosaved documents Documents/Autosaved


        Available in Mac OS X v10.6 and later.


    NSDesktopDirectory

        Location of user's desktop directory.


        Available in Mac OS X v10.4 and later.


    NSCachesDirectory

        Location of discardable cache files (Library/Caches).


        Available in Mac OS X v10.4 and later.


    NSApplicationSupportDirectory

        Location of application support files (Library/Application Support).


        Available in Mac OS X v10.4 and later.


    NSDownloadsDirectory

        Location of the user's downloads directory.


        Available in Mac OS X v10.5 and later.


    NSInputMethodsDirectory

        Location of Input Methods (Library/Input Methods)


        Available in Mac OS X v10.6 and later.


    NSMoviesDirectory

        Location of user's Movies directory (~/Movies)


        Available in Mac OS X v10.6 and later.


    NSMusicDirectory

        Location of user's Movies directory (~/Music)


        Available in Mac OS X v10.6 and later.


    NSPicturesDirectory

        Location of user's Movies directory (~/Pictures)


        Available in Mac OS X v10.6 and later.


    NSPrinterDescriptionDirectory

        Location of system's PPDs directory (Library/Printers/PPDs)


        Available in Mac OS X v10.6 and later.


    NSSharedPublicDirectory

        Location of user's Public sharing directory (~/Public)


        Available in Mac OS X v10.6 and later.


    NSPreferencePanesDirectory

        Location of the PreferencePanes directory for use with System
        Preferences (Library/PreferencePanes)


        Available in Mac OS X v10.6 and later.


    NSItemReplacementDirectory

        For use with NSFileManager method
        URLForDirectory:inDomain:appropriateForURL:create:error:


        Available in Mac OS X v10.6 and later.


    NSAllApplicationsDirectory

        All directories where applications can occur.


        Available in Mac OS X v10.0 and later.


    NSAllLibrariesDirectory

        All directories where resources can occur.


        Available in Mac OS X v10.0 and later.


EXPORT

    None by default. Functions and constants can either be imported
    individually or in sets grouped by tag names. The tag names are:


    ":all" exports all functions and constants.

    ":DomainMask" exports all "DomainMask" constants.

    ":Directory" exports all "Directory" constants.


SEE ALSO

    <http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conceptual/L
    owLevelFileMgmt/Articles/StandardDirectories.html>


AUTHOR

    Christian Hansen, <chansen@cpan.org>


COPYRIGHT AND LICENSE

    Copyright (C) 2009 by Christian Hansen


    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself, either Perl version 5.8.9 or, at
    your option, any later version of Perl 5 you may have available.