LibreOffice Module svl (master) 1
|
Functions | |
SVL_DLLPUBLIC OUString | SmartRel2Abs (INetURLObject const &rTheBaseURIRef, OUString const &rTheRelURIRef, Link< OUString *, bool > const &rMaybeFileHdl=Link< OUString *, bool >(), bool bCheckFileExists=true, bool bIgnoreFragment=false, INetURLObject::EncodeMechanism eEncodeMechanism=INetURLObject::EncodeMechanism::WasEncoded, INetURLObject::DecodeMechanism eDecodeMechanism=INetURLObject::DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, FSysStyle eStyle=FSysStyle::Detect) |
@ATT Calling this function with defaulted arguments rMaybeFileHdl = Link() and bCheckFileExists = true often leads to results that are not intended: Whenever the given rTheBaseURIRef is a file URL, the given rTheRelURIRef is relative, and rTheRelURIRef could also be smart-parsed as a non-file URL (e.g., the relative URL "foo/bar" can be smart-parsed as "http://foo/bar"), then SmartRel2Abs called with rMaybeFileHdl = Link() and bCheckFileExists = true returns the non-file URL interpretation. More... | |
SVL_DLLPUBLIC void | SetMaybeFileHdl (Link< OUString *, bool > const &rTheMaybeFileHdl) |
SVL_DLLPUBLIC Link< OUString *, bool > const & | GetMaybeFileHdl () |
SVL_DLLPUBLIC css::uno::Reference< css::uri::XUriReference > | normalizedMakeRelative (css::uno::Reference< css::uno::XComponentContext > const &context, OUString const &baseUriReference, OUString const &uriReference) |
Converts a URI reference to a relative one, ignoring certain differences (for example, treating file URLs for case-ignoring file systems case-insensitively). More... | |
SVL_DLLPUBLIC OUString | simpleNormalizedMakeRelative (OUString const &baseUriReference, OUString const &uriReference) |
A variant of normalizedMakeRelative with a simplified interface. More... | |
SVL_DLLPUBLIC OUString | FindFirstURLInText (OUString const &rText, sal_Int32 &rBegin, sal_Int32 &rEnd, CharClass const &rCharClass, INetURLObject::EncodeMechanism eMechanism=INetURLObject::EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) |
SVL_DLLPUBLIC OUString | FindFirstDOIInText (OUString const &rText, sal_Int32 &rBegin, sal_Int32 &rEnd, CharClass const &rCharClass) |
SVL_DLLPUBLIC OUString | removePassword (OUString const &rURI, INetURLObject::EncodeMechanism eEncodeMechanism, INetURLObject::DecodeMechanism eDecodeMechanism=INetURLObject::DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) |
Remove any password component from both absolute and relative URLs. More... | |
SVL_DLLPUBLIC OUString | resolveIdnaHost (OUString const &url) |
Resolve a URL's host component domain name in IDNA syntax to plain DNS syntax. More... | |
OUString URIHelper::FindFirstDOIInText | ( | OUString const & | rText, |
sal_Int32 & | rBegin, | ||
sal_Int32 & | rEnd, | ||
CharClass const & | rCharClass | ||
) |
Definition at line 748 of file urihelper.cxx.
References count, i, CharClass::isAlphaNumeric(), CharClass::isDigit(), and start.
OUString URIHelper::FindFirstURLInText | ( | OUString const & | rText, |
sal_Int32 & | rBegin, | ||
sal_Int32 & | rEnd, | ||
CharClass const & | rCharClass, | ||
INetURLObject::EncodeMechanism | eMechanism = INetURLObject::EncodeMechanism::WasEncoded , |
||
rtl_TextEncoding | eCharset = RTL_TEXTENCODING_UTF8 |
||
) |
Definition at line 448 of file urihelper.cxx.
References INetURLObject::All, INetURLObject::CompareProtocolScheme(), INetURLObject::GetMainURL(), INetURLObject::HasError(), i, INetMIME::isAtomChar(), nPos, and INetURLObject::ToIUri.
Link< OUString *, bool > const & URIHelper::GetMaybeFileHdl | ( | ) |
Definition at line 116 of file urihelper.cxx.
css::uno::Reference< css::uri::XUriReference > URIHelper::normalizedMakeRelative | ( | css::uno::Reference< css::uno::XComponentContext > const & | context, |
OUString const & | baseUriReference, | ||
OUString const & | uriReference | ||
) |
Converts a URI reference to a relative one, ignoring certain differences (for example, treating file URLs for case-ignoring file systems case-insensitively).
context | a component context; must not be null |
baseUriReference | a base URI reference |
uriReference | a URI reference |
std::bad_alloc | if an out-of-memory condition occurs |
css::uno::RuntimeException | if any error occurs |
Definition at line 253 of file urihelper.cxx.
References normalize().
Referenced by simpleNormalizedMakeRelative().
OUString URIHelper::removePassword | ( | OUString const & | rURI, |
INetURLObject::EncodeMechanism | eEncodeMechanism, | ||
INetURLObject::DecodeMechanism | eDecodeMechanism = INetURLObject::DecodeMechanism::ToIUri , |
||
rtl_TextEncoding | eCharset = RTL_TEXTENCODING_UTF8 |
||
) |
Remove any password component from both absolute and relative URLs.
@ATT The current implementation will not remove a password from a relative URL that has an authority component (e.g., the password is not removed from the relative ftp URL <//user:password@domain/path>). But since our functions to translate between absolute and relative URLs never produce relative URLs with authority components, this is no real problem.
@ATT For relative URLs (or anything not recognized as an absolute URI), the current implementation will return the input unmodified, not applying any translations implied by the encode/decode parameters.
rURI | An absolute or relative URI reference. |
eEncodeMechanism | See the general discussion for INetURLObject set- methods. |
eDecodeMechanism | See the general discussion for INetURLObject get- methods. |
eCharset | See the general discussion for INetURLObject get- and set-methods. |
Definition at line 807 of file urihelper.cxx.
References INetURLObject::GetURLNoPass(), and INetURLObject::HasError().
OUString URIHelper::resolveIdnaHost | ( | OUString const & | url | ) |
Resolve a URL's host component domain name in IDNA syntax to plain DNS syntax.
For details, see RFC 5890 "Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework."
url An arbitrary string, should be a URI. |
Definition at line 818 of file urihelper.cxx.
References comphelper::getProcessComponentContext(), i, parse(), and SAL_WARN.
void URIHelper::SetMaybeFileHdl | ( | Link< OUString *, bool > const & | rTheMaybeFileHdl | ) |
Definition at line 111 of file urihelper.cxx.
OUString URIHelper::simpleNormalizedMakeRelative | ( | OUString const & | baseUriReference, |
OUString const & | uriReference | ||
) |
A variant of normalizedMakeRelative with a simplified interface.
Internally calls normalizedMakeRelative with the default component context.
baseUriReference | a base URI reference, passed to normalizedMakeRelative |
uriReference | a URI reference, passed to normalizedMakeRelative |
std::bad_alloc | if an out-of-memory condition occurs |
css::uno::RuntimeException | if any error occurs |
Definition at line 268 of file urihelper.cxx.
References comphelper::getProcessComponentContext(), and normalizedMakeRelative().
OUString URIHelper::SmartRel2Abs | ( | INetURLObject const & | rTheBaseURIRef, |
OUString const & | rTheRelURIRef, | ||
Link< OUString *, bool > const & | rMaybeFileHdl = Link<OUString *, bool>() , |
||
bool | bCheckFileExists = true , |
||
bool | bIgnoreFragment = false , |
||
INetURLObject::EncodeMechanism | eEncodeMechanism = INetURLObject::EncodeMechanism::WasEncoded , |
||
INetURLObject::DecodeMechanism | eDecodeMechanism = INetURLObject::DecodeMechanism::ToIUri , |
||
rtl_TextEncoding | eCharset = RTL_TEXTENCODING_UTF8 , |
||
FSysStyle | eStyle = FSysStyle::Detect |
||
) |
@ATT Calling this function with defaulted arguments rMaybeFileHdl = Link() and bCheckFileExists = true often leads to results that are not intended: Whenever the given rTheBaseURIRef is a file URL, the given rTheRelURIRef is relative, and rTheRelURIRef could also be smart-parsed as a non-file URL (e.g., the relative URL "foo/bar" can be smart-parsed as "http://foo/bar"), then SmartRel2Abs called with rMaybeFileHdl = Link() and bCheckFileExists = true returns the non-file URL interpretation.
To avoid this, either pass some non-null rMaybeFileHdl if you want to check generated file URLs for existence (see URIHelper::GetMaybeFileHdl), or use bCheckFileExists = false if you want to generate file URLs without checking for their existence.
Definition at line 56 of file urihelper.cxx.
References Link< typename Arg, typename Ret >::Call(), INetURLObject::GetMainURL(), INetURLObject::GetProtocol(), INetURLObject::HasError(), Link< typename Arg, typename Ret >::IsSet(), INetURLObject::SetSmartURL(), and INetURLObject::smartRel2Abs().