1/* 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26#ifndef DO_NO_IMPORTS 27import "oaidl.idl"; 28import "ocidl.idl"; 29#endif 30 31/*! 32 @class WebResource 33 @discussion A WebResource represents a fully downloaded URL. 34 It includes the data of the resource as well as the metadata associated with the resource. 35 36 @interface WebResource : NSObject <NSCoding, NSCopying> 37*/ 38[ 39 object, 40 oleautomation, 41 uuid(09567E0E-7859-494a-B0E4-92C13CFE5574), 42 pointer_default(unique) 43] 44interface IWebResource : IUnknown 45{ 46 /*! 47 @method initWithData:URL:MIMEType:textEncodingName:frameName 48 @abstract The initializer for WebResource. 49 @param data The data of the resource. 50 @param URL The URL of the resource. 51 @param MIMEType The MIME type of the resource. 52 @param textEncodingName The text encoding name of the resource (can be nil). 53 @param frameName The frame name of the resource if the resource represents the contents of an entire HTML frame (can be nil). 54 @result An initialized WebResource. 55 - (id)initWithData:(NSData *)data URL:(NSURL *)URL MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName frameName:(NSString *)frameName; 56 */ 57 HRESULT initWithData([in] IStream* data, [in] BSTR url, [in] BSTR mimeType, [in] BSTR textEncodingName, [in] BSTR frameName); 58 59 /*! 60 @method data 61 @result The data of the resource. 62 - (NSData *)data; 63 */ 64 HRESULT data([out, retval] IStream** data); 65 66 /*! 67 @method URL 68 @result The URL of the resource. 69 - (NSURL *)URL; 70 */ 71 HRESULT URL([out, retval] BSTR* url); 72 73 /*! 74 @method MIMEType 75 @result The MIME type of the resource. 76 - (NSString *)MIMEType; 77 */ 78 HRESULT MIMEType([out, retval] BSTR* mime); 79 80 /*! 81 @method textEncodingName 82 @result The text encoding name of the resource (can be nil). 83 - (NSString *)textEncodingName; 84 */ 85 HRESULT textEncodingName([out, retval] BSTR* encodingName); 86 87 /*! 88 @method frameName 89 @result The frame name of the resource if the resource represents the contents of an entire HTML frame (can be nil). 90 - (NSString *)frameName; 91 */ 92 HRESULT frameName([out, retval] BSTR* name); 93} 94