nsIURI.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. /*
  2. * DO NOT EDIT. THIS FILE IS GENERATED FROM c:/mozilla/netwerk/base/public/nsIURI.idl
  3. */
  4. #ifndef __gen_nsIURI_h__
  5. #define __gen_nsIURI_h__
  6. #ifndef __gen_nsISupports_h__
  7. #include "nsISupports.h"
  8. #endif
  9. /* For IDL files that don't want to include root IDL files. */
  10. #ifndef NS_NO_VTABLE
  11. #define NS_NO_VTABLE
  12. #endif
  13. #undef GetPort // XXX Windows!
  14. #undef SetPort // XXX Windows!
  15. /* starting interface: nsIURI */
  16. #define NS_IURI_IID_STR "07a22cc0-0ce5-11d3-9331-00104ba0fd40"
  17. #define NS_IURI_IID \
  18. {0x07a22cc0, 0x0ce5, 0x11d3, \
  19. { 0x93, 0x31, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 }}
  20. /**
  21. * URIs are essentially structured names for things -- anything. This interface
  22. * provides accessors to set and query the most basic components of an URI.
  23. * Subclasses, including nsIURL, impose greater structure on the URI.
  24. *
  25. * This interface follows Tim Berners-Lee's URI spec (RFC2396) [1], where the
  26. * basic URI components are defined as such:
  27. *
  28. * ftp://username:password@hostname:portnumber/pathname
  29. * \ / \ / \ / \ /\ /
  30. * - --------------- ------ -------- -------
  31. * | | | | |
  32. * | | | | Path
  33. * | | | Port
  34. * | | Host /
  35. * | UserPass /
  36. * Scheme /
  37. * \ /
  38. * --------------------------------
  39. * |
  40. * PrePath
  41. *
  42. * The definition of the URI components has been extended to allow for
  43. * internationalized domain names [2] and the more generic IRI structure [3].
  44. *
  45. * [1] http://www.ietf.org/rfc/rfc2396.txt
  46. * [2] http://www.ietf.org/internet-drafts/draft-ietf-idn-idna-06.txt
  47. * [3] http://www.ietf.org/internet-drafts/draft-masinter-url-i18n-08.txt
  48. */
  49. /**
  50. * nsIURI - interface for an uniform resource identifier w/ i18n support.
  51. *
  52. * AUTF8String attributes may contain unescaped UTF-8 characters.
  53. * Consumers should be careful to escape the UTF-8 strings as necessary, but
  54. * should always try to "display" the UTF-8 version as provided by this
  55. * interface.
  56. *
  57. * AUTF8String attributes may also contain escaped characters.
  58. *
  59. * Unescaping URI segments is unadvised unless there is intimate
  60. * knowledge of the underlying charset or there is no plan to display (or
  61. * otherwise enforce a charset on) the resulting URI substring.
  62. *
  63. * @status FROZEN
  64. */
  65. class NS_NO_VTABLE nsIURI : public nsISupports {
  66. public:
  67. NS_DEFINE_STATIC_IID_ACCESSOR(NS_IURI_IID)
  68. /************************************************************************
  69. * The URI is broken down into the following principal components:
  70. */
  71. /**
  72. * Returns a string representation of the URI. Setting the spec causes
  73. * the new spec to be parsed, initializing the URI.
  74. *
  75. * Some characters may be escaped.
  76. */
  77. /* attribute AUTF8String spec; */
  78. NS_IMETHOD GetSpec(nsACString & aSpec) = 0;
  79. NS_IMETHOD SetSpec(const nsACString & aSpec) = 0;
  80. /**
  81. * The prePath (eg. scheme://user:password@host:port) returns the string
  82. * before the path. This is useful for authentication or managing sessions.
  83. *
  84. * Some characters may be escaped.
  85. */
  86. /* readonly attribute AUTF8String prePath; */
  87. NS_IMETHOD GetPrePath(nsACString & aPrePath) = 0;
  88. /**
  89. * The Scheme is the protocol to which this URI refers. The scheme is
  90. * restricted to the US-ASCII charset per RFC2396.
  91. */
  92. /* attribute ACString scheme; */
  93. NS_IMETHOD GetScheme(nsACString & aScheme) = 0;
  94. NS_IMETHOD SetScheme(const nsACString & aScheme) = 0;
  95. /**
  96. * The username:password (or username only if value doesn't contain a ':')
  97. *
  98. * Some characters may be escaped.
  99. */
  100. /* attribute AUTF8String userPass; */
  101. NS_IMETHOD GetUserPass(nsACString & aUserPass) = 0;
  102. NS_IMETHOD SetUserPass(const nsACString & aUserPass) = 0;
  103. /**
  104. * The optional username and password, assuming the preHost consists of
  105. * username:password.
  106. *
  107. * Some characters may be escaped.
  108. */
  109. /* attribute AUTF8String username; */
  110. NS_IMETHOD GetUsername(nsACString & aUsername) = 0;
  111. NS_IMETHOD SetUsername(const nsACString & aUsername) = 0;
  112. /* attribute AUTF8String password; */
  113. NS_IMETHOD GetPassword(nsACString & aPassword) = 0;
  114. NS_IMETHOD SetPassword(const nsACString & aPassword) = 0;
  115. /**
  116. * The host:port (or simply the host, if port == -1).
  117. *
  118. * Characters are NOT escaped.
  119. */
  120. /* attribute AUTF8String hostPort; */
  121. NS_IMETHOD GetHostPort(nsACString & aHostPort) = 0;
  122. NS_IMETHOD SetHostPort(const nsACString & aHostPort) = 0;
  123. /**
  124. * The host is the internet domain name to which this URI refers. It could
  125. * be an IPv4 (or IPv6) address literal. If supported, it could be a
  126. * non-ASCII internationalized domain name.
  127. *
  128. * Characters are NOT escaped.
  129. */
  130. /* attribute AUTF8String host; */
  131. NS_IMETHOD GetHost(nsACString & aHost) = 0;
  132. NS_IMETHOD SetHost(const nsACString & aHost) = 0;
  133. /**
  134. * A port value of -1 corresponds to the protocol's default port (eg. -1
  135. * implies port 80 for http URIs).
  136. */
  137. /* attribute long port; */
  138. NS_IMETHOD GetPort(PRInt32 *aPort) = 0;
  139. NS_IMETHOD SetPort(PRInt32 aPort) = 0;
  140. /**
  141. * The path, typically including at least a leading '/' (but may also be
  142. * empty, depending on the protocol).
  143. *
  144. * Some characters may be escaped.
  145. */
  146. /* attribute AUTF8String path; */
  147. NS_IMETHOD GetPath(nsACString & aPath) = 0;
  148. NS_IMETHOD SetPath(const nsACString & aPath) = 0;
  149. /************************************************************************
  150. * An URI supports the following methods:
  151. */
  152. /**
  153. * URI equivalence test (not a strict string comparison).
  154. *
  155. * eg. http://foo.com:80/ == http://foo.com/
  156. */
  157. /* boolean equals (in nsIURI other); */
  158. NS_IMETHOD Equals(nsIURI *other, PRBool *_retval) = 0;
  159. /**
  160. * An optimization to do scheme checks without requiring the users of nsIURI
  161. * to GetScheme, thereby saving extra allocating and freeing. Returns true if
  162. * the schemes match (case ignored).
  163. */
  164. /* boolean schemeIs (in string scheme); */
  165. NS_IMETHOD SchemeIs(const char *scheme, PRBool *_retval) = 0;
  166. /**
  167. * Clones the current URI. For some protocols, this is more than just an
  168. * optimization. For example, under MacOS, the spec of a file URL does not
  169. * necessarily uniquely identify a file since two volumes could share the
  170. * same name.
  171. */
  172. /* nsIURI clone (); */
  173. NS_IMETHOD Clone(nsIURI **_retval) = 0;
  174. /**
  175. * This method resolves a relative string into an absolute URI string,
  176. * using this URI as the base.
  177. *
  178. * NOTE: some implementations may have no concept of a relative URI.
  179. */
  180. /* AUTF8String resolve (in AUTF8String relativePath); */
  181. NS_IMETHOD Resolve(const nsACString & relativePath, nsACString & _retval) = 0;
  182. /************************************************************************
  183. * Additional attributes:
  184. */
  185. /**
  186. * The URI spec with an ASCII compatible encoding. Host portion follows
  187. * the IDNA draft spec. Other parts are URL-escaped per the rules of
  188. * RFC2396. The result is strictly ASCII.
  189. */
  190. /* readonly attribute ACString asciiSpec; */
  191. NS_IMETHOD GetAsciiSpec(nsACString & aAsciiSpec) = 0;
  192. /**
  193. * The URI host with an ASCII compatible encoding. Follows the IDNA
  194. * draft spec for converting internationalized domain names (UTF-8) to
  195. * ASCII for compatibility with existing internet infrasture.
  196. */
  197. /* readonly attribute ACString asciiHost; */
  198. NS_IMETHOD GetAsciiHost(nsACString & aAsciiHost) = 0;
  199. /**
  200. * The charset of the document from which this URI originated. An empty
  201. * value implies UTF-8.
  202. *
  203. * If this value is something other than UTF-8 then the URI components
  204. * (e.g., spec, prePath, username, etc.) will all be fully URL-escaped.
  205. * Otherwise, the URI components may contain unescaped multibyte UTF-8
  206. * characters.
  207. */
  208. /* readonly attribute ACString originCharset; */
  209. NS_IMETHOD GetOriginCharset(nsACString & aOriginCharset) = 0;
  210. };
  211. /* Use this macro when declaring classes that implement this interface. */
  212. #define NS_DECL_NSIURI \
  213. NS_IMETHOD GetSpec(nsACString & aSpec); \
  214. NS_IMETHOD SetSpec(const nsACString & aSpec); \
  215. NS_IMETHOD GetPrePath(nsACString & aPrePath); \
  216. NS_IMETHOD GetScheme(nsACString & aScheme); \
  217. NS_IMETHOD SetScheme(const nsACString & aScheme); \
  218. NS_IMETHOD GetUserPass(nsACString & aUserPass); \
  219. NS_IMETHOD SetUserPass(const nsACString & aUserPass); \
  220. NS_IMETHOD GetUsername(nsACString & aUsername); \
  221. NS_IMETHOD SetUsername(const nsACString & aUsername); \
  222. NS_IMETHOD GetPassword(nsACString & aPassword); \
  223. NS_IMETHOD SetPassword(const nsACString & aPassword); \
  224. NS_IMETHOD GetHostPort(nsACString & aHostPort); \
  225. NS_IMETHOD SetHostPort(const nsACString & aHostPort); \
  226. NS_IMETHOD GetHost(nsACString & aHost); \
  227. NS_IMETHOD SetHost(const nsACString & aHost); \
  228. NS_IMETHOD GetPort(PRInt32 *aPort); \
  229. NS_IMETHOD SetPort(PRInt32 aPort); \
  230. NS_IMETHOD GetPath(nsACString & aPath); \
  231. NS_IMETHOD SetPath(const nsACString & aPath); \
  232. NS_IMETHOD Equals(nsIURI *other, PRBool *_retval); \
  233. NS_IMETHOD SchemeIs(const char *scheme, PRBool *_retval); \
  234. NS_IMETHOD Clone(nsIURI **_retval); \
  235. NS_IMETHOD Resolve(const nsACString & relativePath, nsACString & _retval); \
  236. NS_IMETHOD GetAsciiSpec(nsACString & aAsciiSpec); \
  237. NS_IMETHOD GetAsciiHost(nsACString & aAsciiHost); \
  238. NS_IMETHOD GetOriginCharset(nsACString & aOriginCharset);
  239. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  240. #define NS_FORWARD_NSIURI(_to) \
  241. NS_IMETHOD GetSpec(nsACString & aSpec) { return _to GetSpec(aSpec); } \
  242. NS_IMETHOD SetSpec(const nsACString & aSpec) { return _to SetSpec(aSpec); } \
  243. NS_IMETHOD GetPrePath(nsACString & aPrePath) { return _to GetPrePath(aPrePath); } \
  244. NS_IMETHOD GetScheme(nsACString & aScheme) { return _to GetScheme(aScheme); } \
  245. NS_IMETHOD SetScheme(const nsACString & aScheme) { return _to SetScheme(aScheme); } \
  246. NS_IMETHOD GetUserPass(nsACString & aUserPass) { return _to GetUserPass(aUserPass); } \
  247. NS_IMETHOD SetUserPass(const nsACString & aUserPass) { return _to SetUserPass(aUserPass); } \
  248. NS_IMETHOD GetUsername(nsACString & aUsername) { return _to GetUsername(aUsername); } \
  249. NS_IMETHOD SetUsername(const nsACString & aUsername) { return _to SetUsername(aUsername); } \
  250. NS_IMETHOD GetPassword(nsACString & aPassword) { return _to GetPassword(aPassword); } \
  251. NS_IMETHOD SetPassword(const nsACString & aPassword) { return _to SetPassword(aPassword); } \
  252. NS_IMETHOD GetHostPort(nsACString & aHostPort) { return _to GetHostPort(aHostPort); } \
  253. NS_IMETHOD SetHostPort(const nsACString & aHostPort) { return _to SetHostPort(aHostPort); } \
  254. NS_IMETHOD GetHost(nsACString & aHost) { return _to GetHost(aHost); } \
  255. NS_IMETHOD SetHost(const nsACString & aHost) { return _to SetHost(aHost); } \
  256. NS_IMETHOD GetPort(PRInt32 *aPort) { return _to GetPort(aPort); } \
  257. NS_IMETHOD SetPort(PRInt32 aPort) { return _to SetPort(aPort); } \
  258. NS_IMETHOD GetPath(nsACString & aPath) { return _to GetPath(aPath); } \
  259. NS_IMETHOD SetPath(const nsACString & aPath) { return _to SetPath(aPath); } \
  260. NS_IMETHOD Equals(nsIURI *other, PRBool *_retval) { return _to Equals(other, _retval); } \
  261. NS_IMETHOD SchemeIs(const char *scheme, PRBool *_retval) { return _to SchemeIs(scheme, _retval); } \
  262. NS_IMETHOD Clone(nsIURI **_retval) { return _to Clone(_retval); } \
  263. NS_IMETHOD Resolve(const nsACString & relativePath, nsACString & _retval) { return _to Resolve(relativePath, _retval); } \
  264. NS_IMETHOD GetAsciiSpec(nsACString & aAsciiSpec) { return _to GetAsciiSpec(aAsciiSpec); } \
  265. NS_IMETHOD GetAsciiHost(nsACString & aAsciiHost) { return _to GetAsciiHost(aAsciiHost); } \
  266. NS_IMETHOD GetOriginCharset(nsACString & aOriginCharset) { return _to GetOriginCharset(aOriginCharset); }
  267. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  268. #define NS_FORWARD_SAFE_NSIURI(_to) \
  269. NS_IMETHOD GetSpec(nsACString & aSpec) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSpec(aSpec); } \
  270. NS_IMETHOD SetSpec(const nsACString & aSpec) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSpec(aSpec); } \
  271. NS_IMETHOD GetPrePath(nsACString & aPrePath) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPrePath(aPrePath); } \
  272. NS_IMETHOD GetScheme(nsACString & aScheme) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetScheme(aScheme); } \
  273. NS_IMETHOD SetScheme(const nsACString & aScheme) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetScheme(aScheme); } \
  274. NS_IMETHOD GetUserPass(nsACString & aUserPass) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUserPass(aUserPass); } \
  275. NS_IMETHOD SetUserPass(const nsACString & aUserPass) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUserPass(aUserPass); } \
  276. NS_IMETHOD GetUsername(nsACString & aUsername) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUsername(aUsername); } \
  277. NS_IMETHOD SetUsername(const nsACString & aUsername) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUsername(aUsername); } \
  278. NS_IMETHOD GetPassword(nsACString & aPassword) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPassword(aPassword); } \
  279. NS_IMETHOD SetPassword(const nsACString & aPassword) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPassword(aPassword); } \
  280. NS_IMETHOD GetHostPort(nsACString & aHostPort) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHostPort(aHostPort); } \
  281. NS_IMETHOD SetHostPort(const nsACString & aHostPort) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetHostPort(aHostPort); } \
  282. NS_IMETHOD GetHost(nsACString & aHost) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHost(aHost); } \
  283. NS_IMETHOD SetHost(const nsACString & aHost) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetHost(aHost); } \
  284. NS_IMETHOD GetPort(PRInt32 *aPort) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPort(aPort); } \
  285. NS_IMETHOD SetPort(PRInt32 aPort) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPort(aPort); } \
  286. NS_IMETHOD GetPath(nsACString & aPath) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPath(aPath); } \
  287. NS_IMETHOD SetPath(const nsACString & aPath) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPath(aPath); } \
  288. NS_IMETHOD Equals(nsIURI *other, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Equals(other, _retval); } \
  289. NS_IMETHOD SchemeIs(const char *scheme, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->SchemeIs(scheme, _retval); } \
  290. NS_IMETHOD Clone(nsIURI **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Clone(_retval); } \
  291. NS_IMETHOD Resolve(const nsACString & relativePath, nsACString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Resolve(relativePath, _retval); } \
  292. NS_IMETHOD GetAsciiSpec(nsACString & aAsciiSpec) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAsciiSpec(aAsciiSpec); } \
  293. NS_IMETHOD GetAsciiHost(nsACString & aAsciiHost) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAsciiHost(aAsciiHost); } \
  294. NS_IMETHOD GetOriginCharset(nsACString & aOriginCharset) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOriginCharset(aOriginCharset); }
  295. #if 0
  296. /* Use the code below as a template for the implementation class for this interface. */
  297. /* Header file */
  298. class nsURI : public nsIURI
  299. {
  300. public:
  301. NS_DECL_ISUPPORTS
  302. NS_DECL_NSIURI
  303. nsURI();
  304. private:
  305. ~nsURI();
  306. protected:
  307. /* additional members */
  308. };
  309. /* Implementation file */
  310. NS_IMPL_ISUPPORTS1(nsURI, nsIURI)
  311. nsURI::nsURI()
  312. {
  313. /* member initializers and constructor code */
  314. }
  315. nsURI::~nsURI()
  316. {
  317. /* destructor code */
  318. }
  319. /* attribute AUTF8String spec; */
  320. NS_IMETHODIMP nsURI::GetSpec(nsACString & aSpec)
  321. {
  322. return NS_ERROR_NOT_IMPLEMENTED;
  323. }
  324. NS_IMETHODIMP nsURI::SetSpec(const nsACString & aSpec)
  325. {
  326. return NS_ERROR_NOT_IMPLEMENTED;
  327. }
  328. /* readonly attribute AUTF8String prePath; */
  329. NS_IMETHODIMP nsURI::GetPrePath(nsACString & aPrePath)
  330. {
  331. return NS_ERROR_NOT_IMPLEMENTED;
  332. }
  333. /* attribute ACString scheme; */
  334. NS_IMETHODIMP nsURI::GetScheme(nsACString & aScheme)
  335. {
  336. return NS_ERROR_NOT_IMPLEMENTED;
  337. }
  338. NS_IMETHODIMP nsURI::SetScheme(const nsACString & aScheme)
  339. {
  340. return NS_ERROR_NOT_IMPLEMENTED;
  341. }
  342. /* attribute AUTF8String userPass; */
  343. NS_IMETHODIMP nsURI::GetUserPass(nsACString & aUserPass)
  344. {
  345. return NS_ERROR_NOT_IMPLEMENTED;
  346. }
  347. NS_IMETHODIMP nsURI::SetUserPass(const nsACString & aUserPass)
  348. {
  349. return NS_ERROR_NOT_IMPLEMENTED;
  350. }
  351. /* attribute AUTF8String username; */
  352. NS_IMETHODIMP nsURI::GetUsername(nsACString & aUsername)
  353. {
  354. return NS_ERROR_NOT_IMPLEMENTED;
  355. }
  356. NS_IMETHODIMP nsURI::SetUsername(const nsACString & aUsername)
  357. {
  358. return NS_ERROR_NOT_IMPLEMENTED;
  359. }
  360. /* attribute AUTF8String password; */
  361. NS_IMETHODIMP nsURI::GetPassword(nsACString & aPassword)
  362. {
  363. return NS_ERROR_NOT_IMPLEMENTED;
  364. }
  365. NS_IMETHODIMP nsURI::SetPassword(const nsACString & aPassword)
  366. {
  367. return NS_ERROR_NOT_IMPLEMENTED;
  368. }
  369. /* attribute AUTF8String hostPort; */
  370. NS_IMETHODIMP nsURI::GetHostPort(nsACString & aHostPort)
  371. {
  372. return NS_ERROR_NOT_IMPLEMENTED;
  373. }
  374. NS_IMETHODIMP nsURI::SetHostPort(const nsACString & aHostPort)
  375. {
  376. return NS_ERROR_NOT_IMPLEMENTED;
  377. }
  378. /* attribute AUTF8String host; */
  379. NS_IMETHODIMP nsURI::GetHost(nsACString & aHost)
  380. {
  381. return NS_ERROR_NOT_IMPLEMENTED;
  382. }
  383. NS_IMETHODIMP nsURI::SetHost(const nsACString & aHost)
  384. {
  385. return NS_ERROR_NOT_IMPLEMENTED;
  386. }
  387. /* attribute long port; */
  388. NS_IMETHODIMP nsURI::GetPort(PRInt32 *aPort)
  389. {
  390. return NS_ERROR_NOT_IMPLEMENTED;
  391. }
  392. NS_IMETHODIMP nsURI::SetPort(PRInt32 aPort)
  393. {
  394. return NS_ERROR_NOT_IMPLEMENTED;
  395. }
  396. /* attribute AUTF8String path; */
  397. NS_IMETHODIMP nsURI::GetPath(nsACString & aPath)
  398. {
  399. return NS_ERROR_NOT_IMPLEMENTED;
  400. }
  401. NS_IMETHODIMP nsURI::SetPath(const nsACString & aPath)
  402. {
  403. return NS_ERROR_NOT_IMPLEMENTED;
  404. }
  405. /* boolean equals (in nsIURI other); */
  406. NS_IMETHODIMP nsURI::Equals(nsIURI *other, PRBool *_retval)
  407. {
  408. return NS_ERROR_NOT_IMPLEMENTED;
  409. }
  410. /* boolean schemeIs (in string scheme); */
  411. NS_IMETHODIMP nsURI::SchemeIs(const char *scheme, PRBool *_retval)
  412. {
  413. return NS_ERROR_NOT_IMPLEMENTED;
  414. }
  415. /* nsIURI clone (); */
  416. NS_IMETHODIMP nsURI::Clone(nsIURI **_retval)
  417. {
  418. return NS_ERROR_NOT_IMPLEMENTED;
  419. }
  420. /* AUTF8String resolve (in AUTF8String relativePath); */
  421. NS_IMETHODIMP nsURI::Resolve(const nsACString & relativePath, nsACString & _retval)
  422. {
  423. return NS_ERROR_NOT_IMPLEMENTED;
  424. }
  425. /* readonly attribute ACString asciiSpec; */
  426. NS_IMETHODIMP nsURI::GetAsciiSpec(nsACString & aAsciiSpec)
  427. {
  428. return NS_ERROR_NOT_IMPLEMENTED;
  429. }
  430. /* readonly attribute ACString asciiHost; */
  431. NS_IMETHODIMP nsURI::GetAsciiHost(nsACString & aAsciiHost)
  432. {
  433. return NS_ERROR_NOT_IMPLEMENTED;
  434. }
  435. /* readonly attribute ACString originCharset; */
  436. NS_IMETHODIMP nsURI::GetOriginCharset(nsACString & aOriginCharset)
  437. {
  438. return NS_ERROR_NOT_IMPLEMENTED;
  439. }
  440. /* End of implementation class template. */
  441. #endif
  442. #endif /* __gen_nsIURI_h__ */