diff options
Diffstat (limited to 'QSFoundation.framework/Versions/A/PrivateHeaders/NSURL+NDCarbonUtilities.h')
| -rw-r--r-- | QSFoundation.framework/Versions/A/PrivateHeaders/NSURL+NDCarbonUtilities.h | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/QSFoundation.framework/Versions/A/PrivateHeaders/NSURL+NDCarbonUtilities.h b/QSFoundation.framework/Versions/A/PrivateHeaders/NSURL+NDCarbonUtilities.h new file mode 100644 index 0000000..0ec090a --- /dev/null +++ b/QSFoundation.framework/Versions/A/PrivateHeaders/NSURL+NDCarbonUtilities.h @@ -0,0 +1,174 @@ +/*! + @header NSURL+NDCarbonUtilities.h + @abstract Provides method for interacting with Carbon APIs. + @discussion The methods in <tt>NSURL(NDCarbonUtilities)</tt> are simply wrappers for functions that can bew found within the carbon API. + + Created by nathan on Wed Dec 05 2001. + Copyright © 2001 Nathan Day. All rights reserved. + */ + +#import <Foundation/Foundation.h> +#import <Carbon/Carbon.h> + +/*! + @category NSURL(NDCarbonUtilities) + @abstract Provides method for interacting with Carbon APIs. + @discussion Methods for dealing with <tt>FSRef</tt>’s, <tt>FSSpec</tt> and other useful carbon stuff. + */ +@interface NSURL (NDCarbonUtilities) + +/*! + @method URLWithFSRef: + @abstract Alloc and intialize a <tt>NSURL</tt>. + @discussion Returns a file url for the file refered to by a <tt>FSRef</tt>. + @param fsRef A pointer to a <tt>FSRef</tt>. + @result A <tt>NSURL</tt> containing a file url. + */ ++ (NSURL *)URLWithFSRef:(const FSRef *)fsRef; + + /*! +@method URLWithFileSystemPathHFSStyle: + @abstract Alloc and intialize a <tt>NSURL</tt>. + @discussion Returns a file url for the file refered to by a HFS style path. + @param hfsString A <tt>NSString</tt> containing a HFS style path. + @result A <tt>NSURL</tt> containing a file url. + */ ++ (NSURL *)URLWithFileSystemPathHFSStyle:(NSString *)hfsString; + /*! + @method getFSRef: + @abstract Get a <tt>FSRef</tt>. + @discussion Obtain a <tt>FSRef</tt> for a file url. + @param fsRef A pointer to a <tt>FSRef</tt> struct, to be filled by the method. + @result Returns <tt>YES</tt> if successful, if the method returns <tt>NO</tt> then <tt>fsRef</tt> contains garbage. + */ +- (BOOL)getFSRef:(FSRef *)fsRef; + +/*! + @method getFSSpec: + @abstract Get a <tt>FSSpec</tt>. + @discussion Obtain a <tt>FSSpec</tt> for a file url. + @param fsSpec A pointer to a <tt>FSSpec</tt> struct, to be filled by the method. + @result Returns <tt>YES</tt> if successful, if the method returns <tt>NO</tt> then <tt>fsSpec</tt> contains garbage. + */ +- (BOOL)getFSSpec:(FSSpec *)fsSpec; + +/*! + @method URLByDeletingLastPathComponent + @abstract Delete last component of a url. + @discussion Returns a new <tt>NSURL</tt> equivelent to the receiver with the last component removed. + @result A new <tt>NSURL</tt> + */ +- (NSURL *)URLByDeletingLastPathComponent; + +/*! + @method fileSystemPathHFSStyle + @abstract Returns a HFS style path. + @discussion Returns a <tt>NSString</tt> containg a HFS style path (e.g. <tt>Macitosh HD:Users:</tt>) useful for display purposes. + @result A new <tt>NSString</tt> containing a HFS style path for the same file or directory as the receiver. + */ +- (NSString *)fileSystemPathHFSStyle; + +/*! + @method resolveAliasFile + @abstract Resolve an alias file. + @discussion Returns an file url <tt>NSURL</tt> refered to by the receveive if the receveive refers to an alias file. If it does not refer to an alias file the a url identical to the receveive is returned. + @result An file url <tt>NSURL</tt>. + */ +- (NSURL *)resolveAliasFile; + +/*! + @method finderInfoFlags:type:creator: + @abstract Get finder info flags creator and type. + @discussion The bits of the finder info flag are + <blockquote> + <table border = "1" width = "90%"> + <thead><tr><th>Name</th><th>Description</th></tr></thead> + <tr><td align = "center"><tt>kIsOnDesk</tt></td><td>Files and folders (System 6)</td><tr> + <tr><td align = "center"><tt>kColor</tt></td><td>Files and folders</td><tr> + <tr><td align = "center"><tt>kIsShared</tt></td><td>Files only (Applications only)<br> + If clear, the application needs to write to its resource fork, and therefore cannot be shared on a server</td><tr> + <tr><td align = "center"><tt>kHasNoINITs</tt></td><td>Files only (Extensions/Control Panels only)<br> + This file contains no INIT resource</td><tr> + <tr><td align = "center"><tt>kHasBeenInited</tt></td><td>Files only<br> + Clear if the file contains desktop database resources ('BNDL', 'FREF', 'open', 'kind'...) that have not been added yet. Set only by the Finder</td><tr> + <tr><td align = "center"><tt>kHasCustomIcon</tt></td><td>Files and folders</td><tr> + <tr><td align = "center"><tt>kIsStationery</tt></td><td>Files only</td><tr> + <tr><td align = "center"><tt>kNameLocked</tt></td><td>Files and folders</td><tr> + <tr><td align = "center"><tt>kHasBundle</tt></td><td>Files only</td><tr> + <tr><td align = "center"><tt>kIsInvisible</tt></td><td>Files and folders</td><tr> + <tr><td align = "center"><tt>kIsAlias</tt></td><td>Files only.</td><tr> + </table> + </blockquote> + @param flags Contains finder flags on return. + @param type Contains finder type on return. + @param creator Contains creator on return. + @result Return <tt>YES</tt> if successful, otherwise <tt>NO</tt> and the returned values are invalid. + */ +- (BOOL)finderInfoFlags:(UInt16*)flags type:(OSType*)type creator:(OSType*)creator; + +/*! + @method finderLocation + @abstract Return a finder items location. + @discussion Returns a finder items location within its parent window. + @result A <tt>NSPoint</tt> + */ +- (NSPoint)finderLocation; + +/*! + @method setFinderInfoFlags:mask:type:creator: + @abstract Set finder info flags, creator and type. + @discussion The bits of the finder info flag are + <blockquote> + <table border = "1" width = "90%"> + <thead><tr><th>Name</th><th>Description</th></tr></thead> + <tr><td align = "center"><tt>kIsOnDesk</tt></td><td>Files and folders (System 6)</td><tr> + <tr><td align = "center"><tt>kColor</tt></td><td>Files and folders</td><tr> + <tr><td align = "center"><tt>kIsShared</tt></td><td>Files only (Applications only)<br> + If clear, the application needs to write to its resource fork, and therefore cannot be shared on a server</td><tr> + <tr><td align = "center"><tt>kHasNoINITs</tt></td><td>Files only (Extensions/Control Panels only)<br> + This file contains no INIT resource</td><tr> + <tr><td align = "center"><tt>kHasBeenInited</tt></td><td>Files only<br> + Clear if the file contains desktop database resources ('BNDL', 'FREF', 'open', 'kind'...) that have not been added yet. Set only by the Finder</td><tr> + <tr><td align = "center"><tt>kHasCustomIcon</tt></td><td>Files and folders</td><tr> + <tr><td align = "center"><tt>kIsStationery</tt></td><td>Files only</td><tr> + <tr><td align = "center"><tt>kNameLocked</tt></td><td>Files and folders</td><tr> + <tr><td align = "center"><tt>kHasBundle</tt></td><td>Files only</td><tr> + <tr><td align = "center"><tt>kIsInvisible</tt></td><td>Files and folders</td><tr> + <tr><td align = "center"><tt>kIsAlias</tt></td><td>Files only.</td><tr> + </table> + </blockquote> + @param flags Finder flags. + @param aMask Mask for Finder flags + @param type The Finder file type + @param creator The application creator code + @result Returns <tt>YES</tt> if successful. + */ +- (BOOL)setFinderInfoFlags:(UInt16)flags mask:(UInt16)aMask type:(OSType)type creator:(OSType)creator; + +/*! + @method setFinderLocation: + @abstract Sets the location a finder item. + @discussion Set the location of a finder item within in container. + @param location The location + @result Returns <tt>YES</tt> if successful. + */ +- (BOOL)setFinderLocation:(NSPoint)location; + + +@end + +/*! + @category NSURL(NDCarbonUtilitiesInfoFlags) + @abstract Adds methods to <tt>NSURL</tt> + @discussion Adds methods to simplify testing of the flags returned from <tt>finderInfoFlags:type:creator:</tt> + */ +@interface NSURL (NDCarbonUtilitiesInfoFlags) +/*! + @method hasCustomIcon + @abstract Test if a file has a custom icon. + @discussion Test to see if the file refered to by the receiver has a custom icon. The is equivelent to testing for the <tt>kHasCustomIcon</tt> flag + @result Returns <tt>YES</tt> if the file has a custom icon. + */ +- (BOOL)hasCustomIcon; + +@end |