PageRenderTime 98ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/mozilla/mozilla/dist/include/uconv/nsITextToSubURI.h

#
C Header | 154 lines | 73 code | 31 blank | 50 comment | 0 complexity | ad6be1c4a173d91c8bb3c45547789705 MD5 | raw file
Possible License(s): GPL-2.0, MPL-2.0-no-copyleft-exception
  1. /*
  2. * DO NOT EDIT. THIS FILE IS GENERATED FROM h:/projects/mozilla/mozilla/intl/uconv/idl/nsITextToSubURI.idl
  3. */
  4. #ifndef __gen_nsITextToSubURI_h__
  5. #define __gen_nsITextToSubURI_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. // {8B042E22-6F87-11d3-B3C8-00805F8A6670}
  14. #define NS_TEXTTOSUBURI_CID { 0x8b042e22, 0x6f87, 0x11d3, { 0xb3, 0xc8, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70 } }
  15. #define NS_ITEXTTOSUBURI_CONTRACTID "@mozilla.org/intl/texttosuburi;1"
  16. /* starting interface: nsITextToSubURI */
  17. #define NS_ITEXTTOSUBURI_IID_STR "8b042e24-6f87-11d3-b3c8-00805f8a6670"
  18. #define NS_ITEXTTOSUBURI_IID \
  19. {0x8b042e24, 0x6f87, 0x11d3, \
  20. { 0xb3, 0xc8, 0x00, 0x80, 0x5f, 0x8a, 0x66, 0x70 }}
  21. class NS_NO_VTABLE nsITextToSubURI : public nsISupports {
  22. public:
  23. NS_DEFINE_STATIC_IID_ACCESSOR(NS_ITEXTTOSUBURI_IID)
  24. /* string ConvertAndEscape (in string charset, in wstring text); */
  25. NS_IMETHOD ConvertAndEscape(const char *charset, const PRUnichar *text, char **_retval) = 0;
  26. /* wstring UnEscapeAndConvert (in string charset, in string text); */
  27. NS_IMETHOD UnEscapeAndConvert(const char *charset, const char *text, PRUnichar **_retval) = 0;
  28. /**
  29. * Unescapes the given URI fragment (for UI purpose only)
  30. * Note:
  31. * <ul>
  32. * <li> escaping back the result (unescaped string) is not guaranteed to
  33. * give the original escaped string
  34. * <li> In case of a conversion error, the URI fragment (escaped) is
  35. * assumed to be in UTF-8 and converted to AString (UTF-16)
  36. * <li> Always succeeeds (callers don't need to do error checking)
  37. * </ul>
  38. *
  39. * @param aCharset the charset to convert from
  40. * @param aURIFragment the URI (or URI fragment) to unescape
  41. * @return Unescaped aURIFragment converted to unicode
  42. */
  43. /* AString unEscapeURIForUI (in ACString aCharset, in AUTF8String aURIFragment); */
  44. NS_IMETHOD UnEscapeURIForUI(const nsACString & aCharset, const nsACString & aURIFragment, nsAString & _retval) = 0;
  45. /**
  46. * Unescapes only non ASCII characters in the given URI fragment
  47. * note: this method assumes the URI as UTF-8 and fallbacks to the given charset
  48. * in case the data is not UTF-8
  49. *
  50. * @param aCharset the charset to convert from
  51. * @param aURIFragment the URI (or URI fragment) to unescape
  52. * @return Unescaped aURIFragment converted to unicode
  53. * @throws NS_ERROR_UCONV_NOCONV when there is no decoder for aCharset
  54. * or error code of nsIUnicodeDecoder in case of conversion failure
  55. */
  56. /* AString unEscapeNonAsciiURI (in ACString aCharset, in AUTF8String aURIFragment); */
  57. NS_IMETHOD UnEscapeNonAsciiURI(const nsACString & aCharset, const nsACString & aURIFragment, nsAString & _retval) = 0;
  58. };
  59. /* Use this macro when declaring classes that implement this interface. */
  60. #define NS_DECL_NSITEXTTOSUBURI \
  61. NS_IMETHOD ConvertAndEscape(const char *charset, const PRUnichar *text, char **_retval); \
  62. NS_IMETHOD UnEscapeAndConvert(const char *charset, const char *text, PRUnichar **_retval); \
  63. NS_IMETHOD UnEscapeURIForUI(const nsACString & aCharset, const nsACString & aURIFragment, nsAString & _retval); \
  64. NS_IMETHOD UnEscapeNonAsciiURI(const nsACString & aCharset, const nsACString & aURIFragment, nsAString & _retval);
  65. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  66. #define NS_FORWARD_NSITEXTTOSUBURI(_to) \
  67. NS_IMETHOD ConvertAndEscape(const char *charset, const PRUnichar *text, char **_retval) { return _to ConvertAndEscape(charset, text, _retval); } \
  68. NS_IMETHOD UnEscapeAndConvert(const char *charset, const char *text, PRUnichar **_retval) { return _to UnEscapeAndConvert(charset, text, _retval); } \
  69. NS_IMETHOD UnEscapeURIForUI(const nsACString & aCharset, const nsACString & aURIFragment, nsAString & _retval) { return _to UnEscapeURIForUI(aCharset, aURIFragment, _retval); } \
  70. NS_IMETHOD UnEscapeNonAsciiURI(const nsACString & aCharset, const nsACString & aURIFragment, nsAString & _retval) { return _to UnEscapeNonAsciiURI(aCharset, aURIFragment, _retval); }
  71. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  72. #define NS_FORWARD_SAFE_NSITEXTTOSUBURI(_to) \
  73. NS_IMETHOD ConvertAndEscape(const char *charset, const PRUnichar *text, char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ConvertAndEscape(charset, text, _retval); } \
  74. NS_IMETHOD UnEscapeAndConvert(const char *charset, const char *text, PRUnichar **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->UnEscapeAndConvert(charset, text, _retval); } \
  75. NS_IMETHOD UnEscapeURIForUI(const nsACString & aCharset, const nsACString & aURIFragment, nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->UnEscapeURIForUI(aCharset, aURIFragment, _retval); } \
  76. NS_IMETHOD UnEscapeNonAsciiURI(const nsACString & aCharset, const nsACString & aURIFragment, nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->UnEscapeNonAsciiURI(aCharset, aURIFragment, _retval); }
  77. #if 0
  78. /* Use the code below as a template for the implementation class for this interface. */
  79. /* Header file */
  80. class nsTextToSubURI : public nsITextToSubURI
  81. {
  82. public:
  83. NS_DECL_ISUPPORTS
  84. NS_DECL_NSITEXTTOSUBURI
  85. nsTextToSubURI();
  86. private:
  87. ~nsTextToSubURI();
  88. protected:
  89. /* additional members */
  90. };
  91. /* Implementation file */
  92. NS_IMPL_ISUPPORTS1(nsTextToSubURI, nsITextToSubURI)
  93. nsTextToSubURI::nsTextToSubURI()
  94. {
  95. /* member initializers and constructor code */
  96. }
  97. nsTextToSubURI::~nsTextToSubURI()
  98. {
  99. /* destructor code */
  100. }
  101. /* string ConvertAndEscape (in string charset, in wstring text); */
  102. NS_IMETHODIMP nsTextToSubURI::ConvertAndEscape(const char *charset, const PRUnichar *text, char **_retval)
  103. {
  104. return NS_ERROR_NOT_IMPLEMENTED;
  105. }
  106. /* wstring UnEscapeAndConvert (in string charset, in string text); */
  107. NS_IMETHODIMP nsTextToSubURI::UnEscapeAndConvert(const char *charset, const char *text, PRUnichar **_retval)
  108. {
  109. return NS_ERROR_NOT_IMPLEMENTED;
  110. }
  111. /* AString unEscapeURIForUI (in ACString aCharset, in AUTF8String aURIFragment); */
  112. NS_IMETHODIMP nsTextToSubURI::UnEscapeURIForUI(const nsACString & aCharset, const nsACString & aURIFragment, nsAString & _retval)
  113. {
  114. return NS_ERROR_NOT_IMPLEMENTED;
  115. }
  116. /* AString unEscapeNonAsciiURI (in ACString aCharset, in AUTF8String aURIFragment); */
  117. NS_IMETHODIMP nsTextToSubURI::UnEscapeNonAsciiURI(const nsACString & aCharset, const nsACString & aURIFragment, nsAString & _retval)
  118. {
  119. return NS_ERROR_NOT_IMPLEMENTED;
  120. }
  121. /* End of implementation class template. */
  122. #endif
  123. #endif /* __gen_nsITextToSubURI_h__ */