|
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().