IWebURLRequest.idl 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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. #ifndef DO_NO_IMPORTS
  26. import "oaidl.idl";
  27. import "ocidl.idl";
  28. #endif
  29. typedef enum _WebURLRequestCachePolicy
  30. {
  31. WebURLRequestUseProtocolCachePolicy,
  32. WebURLRequestReloadIgnoringCacheData,
  33. WebURLRequestReturnCacheDataElseLoad,
  34. WebURLRequestReturnCacheDataDontLoad
  35. } WebURLRequestCachePolicy;
  36. [
  37. object,
  38. oleautomation,
  39. hidden,
  40. uuid(F4B85F1D-F3B2-493d-B786-0930E804A3BA),
  41. pointer_default(unique)
  42. ]
  43. interface IWebURLRequest : IUnknown
  44. {
  45. /*
  46. + (id)requestWithURL:(NSURL *)theURL
  47. + (id)requestWithURL:(NSURL *)theURL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval
  48. */
  49. HRESULT requestWithURL([in] BSTR theURL, [in] WebURLRequestCachePolicy cachePolicy, [in] double timeoutInterval);
  50. /*
  51. - (NSDictionary *)allHTTPHeaderFields
  52. */
  53. HRESULT allHTTPHeaderFields([out, retval] IPropertyBag** result);
  54. /*
  55. - (NSURLRequestCachePolicy)cachePolicy
  56. */
  57. HRESULT cachePolicy([out, retval] WebURLRequestCachePolicy* result);
  58. /*
  59. - (NSData *)HTTPBody
  60. */
  61. HRESULT HTTPBody([out, retval] IStream** result);
  62. /*
  63. - (NSInputStream *)HTTPBodyStream
  64. */
  65. HRESULT HTTPBodyStream([out, retval] IStream** result);
  66. /*
  67. - (NSString *)HTTPMethod
  68. */
  69. HRESULT HTTPMethod([out, retval] BSTR *result);
  70. /*
  71. - (BOOL)HTTPShouldHandleCookies
  72. */
  73. HRESULT HTTPShouldHandleCookies([out, retval] BOOL *result);
  74. /*
  75. - (id)initWithURL:(NSURL *)theURL
  76. - (id)initWithURL:(NSURL *)theURL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval
  77. */
  78. HRESULT initWithURL([in] BSTR url, [in] WebURLRequestCachePolicy cachePolicy, [in] double timeoutInterval);
  79. /*
  80. - (NSURL *)mainDocumentURL
  81. */
  82. HRESULT mainDocumentURL([out, retval] BSTR* result);
  83. /*
  84. -(NSTimeInterval)timeoutInterval
  85. */
  86. HRESULT timeoutInterval([out, retval] double* result);
  87. /*
  88. -(NSURL *)URL
  89. */
  90. HRESULT URL([out, retval] BSTR* result);
  91. /*
  92. -(NSString *)valueForHTTPHeaderField:(NSString *)field
  93. */
  94. HRESULT valueForHTTPHeaderField([in] BSTR field, [out, retval] BSTR* result);
  95. HRESULT isEmpty([out, retval] BOOL* result);
  96. HRESULT mutableCopy([out, retval] IWebMutableURLRequest** result);
  97. HRESULT isEqual([in] IWebURLRequest* other, [out, retval] BOOL* result);
  98. }