Mac Developer Library

Developer

PSEnclosure Class Reference

Options
Deployment Target:

On This Page

PSEnclosure

A PSEnclosure object contains a link to an external resource such as a sound or image file associated with an entry. An enclosure is similar to an attachment in an email, but rather than include the file itself in the entry, only a link is provided. Each enclosure object is linked to a entry object.

An enclosure object provides properties for retrieving information about the enclosure, such as its URL, length, and MIME type, as well as methods to download the file linked to in the enclosure. Invoke the download: method to begin downloading the enclosure's file. To check on the status of the download, register for the PSEnclosureDownloadStateDidChangeNotification notification. It is not recommended that you subclass PSEnclosure.

  • A URL to the enclosure's location. (read-only)

    Declaration

    @property (readonly, retain) NSURL * URL;

    Discussion

    The return value corresponds to the 'href' attribute of the <link rel="enclosure"> element in Atom and to the 'url' attribute of the <enclosure> element in RSS.

  • The MIME type of the enclosure. (read-only)

    Declaration

    @property (readonly, retain) NSString * MIMEType;

    Discussion

    The MIME type corresponds to the 'type' attribute of the <link rel="enclosure"> element in Atom and to the 'type' attribute of the <enclosure> element in RSS.

  • The length of the file in the enclosure. (read-only)

    Declaration

    @property (readonly) long long length;

    Return Value

    The length, in bytes, of the file in the enclosure.

    Discussion

    The return value is initially parsed from the length attribute of a <link rel="enclosure"> element in Atom and the length attribute of <enclosure> in RSS. If this attribute does not exist in the feed, the return value is 0. The value may change after downloading begins and the true length is received from the server.

  • The entry with which the enclosure is linked. (read-only)

    Declaration

    @property (readonly) PSEntry * entry;

    Return Value

    The entry associated with the enclosure.

    Discussion

    The inverse of the enclosures property of the PSEntry class. An enclosure follows a one-to-one relationship and can only be linked to a single entry.

    This method attempts to communicate with the PubSubAgent process and causes the agent to launch if it is not already running. If PubSubAgent cannot be contacted, an exception will be thrown with the name PSException. To avoid problems, you should always be prepared to catch an exception thrown by this method.

  • The path to the downloaded enclosure. (read-only)

    Declaration

    @property (readonly) NSString * downloadedPath;

    Discussion

    The method returns nil unless the download has completed.