4 #ifndef INCLUDED_RTL_URI_HXX
5 #define INCLUDED_RTL_URI_HXX
13 #if defined LIBO_INTERNAL_ONLY
17 #include <string_view>
18 #include "config_global.h"
115 const_cast< rtl::OUString & >(rBaseUriRef).pData,
116 const_cast< rtl::OUString & >(rRelUriRef).pData, &aResult.
pData,
122 #if defined LIBO_INTERNAL_ONLY
124 constexpr std::size_t UriCharClassSize = 128;
132 #if HAVE_CPP_CONSTEVAL
137 auto createUriCharClass(
138 #
if defined __cpp_lib_char8_t
145 std::array<sal_Bool, UriCharClassSize> a = {};
146 for (
auto c: unencoded) {
157 #endif // INCLUDED_RTL_URI_HXX
SAL_DLLPUBLIC void rtl_uriDecode(rtl_uString *pText, rtl_UriDecodeMechanism eMechanism, rtl_TextEncoding eCharset, rtl_uString **pResult) SAL_THROW_EXTERN_C()
Decode (a part of) a URI.
An exception indicating a malformed URI.
Definition: malformeduriexception.hxx:15
SAL_DLLPUBLIC sal_Bool const * rtl_getUriCharClass(rtl_UriCharClass eCharClass) SAL_THROW_EXTERN_C()
Map a predefined rtl_UriCharClass to a form usable by rtl_uriEncode().
unsigned char sal_Bool
Definition: types.h:18
static rtl::OUString convertRelToAbs(rtl::OUString const &rBaseUriRef, rtl::OUString const &rRelUriRef)
A wrapper around rtl_uriConvertRelToAbs() from <rtl/uri.h> (see there).
Definition: uri.hxx:109
rtl_UriDecodeMechanism
The mechanism describing how rtl_uriDecode() translates (part of) a URI into a Unicode string...
Definition: uri.h:168
sal_uInt16 rtl_TextEncoding
The various supported text encodings.
Definition: textenc.h:17
This String class provides base functionality for C++ like Unicode character array handling...
Definition: ustring.hxx:182
pData
Definition: ustring.hxx:334
static rtl::OUString decode(rtl::OUString const &rText, rtl_UriDecodeMechanism eMechanism, rtl_TextEncoding eCharset)
A wrapper around rtl_uriDecode() from <rtl/uri.h> (see there).
Definition: uri.hxx:97
SAL_DLLPUBLIC sal_Bool rtl_uriConvertRelToAbs(rtl_uString *pBaseUriRef, rtl_uString *pRelUriRef, rtl_uString **pResult, rtl_uString **pException) SAL_THROW_EXTERN_C()
Convert a relative URI reference into an absolute URI.
rtl_UriCharClass
Various predefined URI 'char classes.
Definition: uri.h:29
rtl_UriEncodeMechanism
The mechanism describing how escape sequences in the input of rtl_uriEncode() are handled...
Definition: uri.h:114
SAL_DLLPUBLIC void rtl_uriEncode(rtl_uString *pText, sal_Bool const *pCharClass, rtl_UriEncodeMechanism eMechanism, rtl_TextEncoding eCharset, rtl_uString **pResult) SAL_THROW_EXTERN_C()
Encode a text as (part of) a URI.
static rtl::OUString encode(rtl::OUString const &rText, sal_Bool const *pCharClass, rtl_UriEncodeMechanism eMechanism, rtl_TextEncoding eCharset)
A wrapper around rtl_uriEncode() from <rtl/uri.h> (see there), using an array of 128 booleans as char...
Definition: uri.hxx:69
A wrapper around the C functions from <rtl/uri.h>.
Definition: uri.hxx:25
#define SAL_DELETED_FUNCTION
short-circuit extra-verbose API namespaces
Definition: types.h:358