19#ifndef INCLUDED_TOOLS_URLOBJ_HXX
20#define INCLUDED_TOOLS_URLOBJ_HXX
23#include <rtl/ustrbuf.hxx>
24#include <rtl/textenc.h>
47#define URL_PREFIX_PRIV_SOFFICE "private:"
263 rtl_TextEncoding eCharset
264 = RTL_TEXTENCODING_UTF8)
const
265 {
return decode(m_aAbsURIRef, eMechanism, eCharset); }
267 OUString GetURLNoPass(DecodeMechanism eMechanism = DecodeMechanism::ToIUri,
268 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8)
271 OUString GetURLNoMark(DecodeMechanism eMechanism = DecodeMechanism::ToIUri,
272 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8)
276 getAbbreviated(css::uno::Reference< css::util::XStringWidth >
const & rStringWidth,
278 DecodeMechanism eMechanism = DecodeMechanism::ToIUri,
279 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8)
285 {
return !(*
this == rObject); }
290 std::u16string_view rTheAbsURIRef,
291 EncodeMechanism eMechanism = EncodeMechanism::WasEncoded,
292 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8);
294 inline bool SetURL(std::u16string_view rTheAbsURIRef,
295 EncodeMechanism eMechanism = EncodeMechanism::WasEncoded,
296 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8);
298 bool ConcatData(
INetProtocol eTheScheme, std::u16string_view rTheUser,
299 std::u16string_view rThePassword,
300 std::u16string_view rTheHost, sal_uInt32 nThePort,
301 std::u16string_view rThePath);
307 EncodeMechanism eMechanism = EncodeMechanism::WasEncoded,
308 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8,
312 { m_eSmartScheme = eTheSmartScheme; }
315 SetSmartURL(std::u16string_view rTheAbsURIRef,
316 EncodeMechanism eMechanism = EncodeMechanism::WasEncoded,
317 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8,
321 smartRel2Abs(OUString
const & rTheRelURIRef,
323 bool bIgnoreFragment =
false,
324 EncodeMechanism eMechanism = EncodeMechanism::WasEncoded,
325 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8,
326 bool bRelativeNonURIs =
false,
332 GetNewAbsURL(OUString
const & rTheRelURIRef,
344 GetAbsURL(std::u16string_view rTheBaseURIRef,
345 OUString
const & rTheRelURIRef,
346 EncodeMechanism eEncodeMechanism = EncodeMechanism::WasEncoded,
347 DecodeMechanism eDecodeMechanism = DecodeMechanism::ToIUri,
348 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8);
350 static inline OUString
351 GetRelURL(std::u16string_view rTheBaseURIRef,
352 OUString
const & rTheAbsURIRef,
353 EncodeMechanism eEncodeMechanism = EncodeMechanism::WasEncoded,
354 DecodeMechanism eDecodeMechanism = DecodeMechanism::ToIUri,
355 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8,
360 OUString getExternalURL()
const;
362 static inline bool translateToExternal(std::u16string_view rTheIntURIRef,
363 OUString & rTheExtURIRef,
364 DecodeMechanism eDecodeMechanism
365 = DecodeMechanism::ToIUri,
366 rtl_TextEncoding eCharset
367 = RTL_TEXTENCODING_UTF8);
369 static inline bool translateToInternal(std::u16string_view rTheExtURIRef,
370 OUString & rTheIntURIRef,
371 DecodeMechanism eDecodeMechanism
372 = DecodeMechanism::ToIUri,
373 rtl_TextEncoding eCharset
374 = RTL_TEXTENCODING_UTF8);
384 bool isSchemeEqualTo(std::u16string_view scheme)
const;
391 bool isAnyKnownWebDAVScheme()
const;
407 static const OUString & GetSchemeName(
INetProtocol eTheScheme);
409 static INetProtocol CompareProtocolScheme(std::u16string_view aTheAbsURIRef);
416 rtl_TextEncoding eCharset
417 = RTL_TEXTENCODING_UTF8)
const
418 {
return decode(m_aUser, eMechanism, eCharset); }
421 rtl_TextEncoding eCharset
422 = RTL_TEXTENCODING_UTF8)
const
423 {
return decode(m_aAuth, eMechanism, eCharset); }
426 {
return setUser(rTheUser, RTL_TEXTENCODING_UTF8); }
428 inline bool SetPass(std::u16string_view rThePassword);
430 inline bool SetUserAndPass(std::u16string_view rTheUser,
431 std::u16string_view rThePassword);
435 bool HasPort()
const {
return m_aPort.isPresent(); }
438 rtl_TextEncoding eCharset
439 = RTL_TEXTENCODING_UTF8)
const
440 {
return decode(m_aHost, eMechanism, eCharset); }
442 OUString GetHostPort(DecodeMechanism eMechanism = DecodeMechanism::ToIUri,
443 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8)
const;
445 sal_uInt32 GetPort()
const;
448 {
return setHost(rTheHost, RTL_TEXTENCODING_UTF8); }
450 bool SetPort(sal_uInt32 nThePort);
457 rtl_TextEncoding eCharset
458 = RTL_TEXTENCODING_UTF8)
const
459 {
return decode(m_aPath, eMechanism, eCharset); }
463 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8)
464 {
return setPath(rThePath, eMechanism, eCharset); }
475 enum { LAST_SEGMENT = -1 };
500 sal_Int32 getSegmentCount(
bool bIgnoreFinalSlash =
true)
const;
515 bool removeSegment(sal_Int32 nIndex = LAST_SEGMENT,
516 bool bIgnoreFinalSlash =
true);
543 bool insertName(std::u16string_view rTheName,
544 bool bAppendFinalSlash =
false,
545 sal_Int32 nIndex = LAST_SEGMENT,
546 EncodeMechanism eMechanism = EncodeMechanism::WasEncoded,
547 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8);
565 OUString getName(sal_Int32 nIndex = LAST_SEGMENT,
566 bool bIgnoreFinalSlash =
true,
567 DecodeMechanism eMechanism = DecodeMechanism::ToIUri,
568 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8)
585 bool setName(std::u16string_view rTheName,
586 EncodeMechanism eMechanism = EncodeMechanism::WasEncoded,
587 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8);
605 OUString getBase(sal_Int32 nIndex = LAST_SEGMENT,
606 bool bIgnoreFinalSlash =
true,
607 DecodeMechanism eMechanism = DecodeMechanism::ToIUri,
608 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8)
629 bool setBase(std::u16string_view rTheBase,
630 sal_Int32 nIndex = LAST_SEGMENT,
631 EncodeMechanism eMechanism = EncodeMechanism::WasEncoded,
632 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8);
640 bool hasExtension()
const;
658 OUString getExtension(sal_Int32 nIndex = LAST_SEGMENT,
659 bool bIgnoreFinalSlash =
true,
660 DecodeMechanism eMechanism = DecodeMechanism::ToIUri,
661 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8)
682 bool setExtension(std::u16string_view rTheExtension,
683 sal_Int32 nIndex = LAST_SEGMENT,
684 bool bIgnoreFinalSlash =
true,
685 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8);
701 bool removeExtension(sal_Int32 nIndex = LAST_SEGMENT,
702 bool bIgnoreFinalSlash =
true);
709 bool hasFinalSlash()
const;
719 bool setFinalSlash();
728 bool removeFinalSlash();
732 bool HasParam()
const {
return m_aQuery.isPresent(); }
735 = RTL_TEXTENCODING_UTF8)
const
736 {
return decode(m_aQuery, DecodeMechanism::NONE, eCharset); }
738 inline bool SetParam(std::u16string_view rTheQuery,
739 EncodeMechanism eMechanism = EncodeMechanism::WasEncoded,
740 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8);
744 bool HasMark()
const {
return m_aFragment.isPresent(); }
747 rtl_TextEncoding eCharset
748 = RTL_TEXTENCODING_UTF8)
const
749 {
return decode(m_aFragment, eMechanism, eCharset); }
751 inline bool SetMark(std::u16string_view rTheFragment,
752 EncodeMechanism eMechanism = EncodeMechanism::WasEncoded,
753 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8);
778 std::unique_ptr<SvMemoryStream> getData()
const;
784 PART_USER_PASSWORD = 0x00001,
785 PART_FPATH = 0x00008,
786 PART_AUTHORITY = 0x00010,
787 PART_REL_SEGMENT_EXTRA = 0x00020,
789 PART_HTTP_PATH = 0x00080,
790 PART_MESSAGE_ID_PATH = 0x00100,
791 PART_MAILTO = 0x00200,
792 PART_PATH_BEFORE_QUERY = 0x00400,
793 PART_PCHAR = 0x00800,
794 PART_VISIBLE = 0x01000,
795 PART_VISIBLE_NONSPECIAL = 0x02000,
796 PART_UNO_PARAM_VALUE = 0x04000,
797 PART_UNAMBIGUOUS = 0x08000,
798 PART_URIC_NO_SLASH = 0x10000,
799 PART_HTTP_QUERY = 0x20000,
825 static OUString encode( std::u16string_view rText, Part ePart,
826 EncodeMechanism eMechanism,
827 rtl_TextEncoding eCharset
828 = RTL_TEXTENCODING_UTF8);
842 static inline OUString decode(std::u16string_view rText,
843 DecodeMechanism eMechanism,
844 rtl_TextEncoding eCharset
845 = RTL_TEXTENCODING_UTF8);
847 static void appendUCS4Escape(OUStringBuffer & rTheText, sal_uInt32 nUCS4);
849 static void appendUCS4(OUStringBuffer & rTheText, sal_uInt32 nUCS4,
851 rtl_TextEncoding eCharset,
bool bKeepVisibleEscapes);
853 static sal_uInt32 getUTF32(
sal_Unicode const *& rBegin,
855 EncodeMechanism eMechanism,
856 rtl_TextEncoding eCharset,
861 static sal_uInt32 scanDomain(
sal_Unicode const *& rBegin,
867 OUString GetPartBeforeLastName()
const;
879 OUString GetLastName(DecodeMechanism eMechanism = DecodeMechanism::ToIUri,
880 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8)
890 OUString GetFileExtension()
const;
892 bool Append(std::u16string_view rTheSegment,
893 EncodeMechanism eMechanism = EncodeMechanism::WasEncoded,
894 rtl_TextEncoding eCharset = RTL_TEXTENCODING_UTF8);
900 OUString PathToFileName()
const;
902 OUString GetFull()
const;
906 void SetBase(std::u16string_view rTheBase);
908 OUString GetBase()
const;
910 void SetExtension(std::u16string_view rTheExtension);
912 OUString CutExtension();
928 sal_Int32 nTheLength = 0):
929 m_nBegin(nTheBegin),
m_nLength(nTheLength) {}
943 sal_Int32
set(OUStringBuffer & rString,
944 std::u16string_view rSubString,
945 sal_Int32 nTheBegin);
947 sal_Int32
set(OUString & rString,
948 std::u16string_view rSubString);
950 sal_Int32
set(OUStringBuffer & rString,
951 std::u16string_view rSubString);
956 OUStringBuffer
const & rThisString,
957 OUStringBuffer
const & rOtherString)
const;
975 std::u16string_view rTheAbsURIRef,
981 bool convertRelToAbs(
982 OUString
const & rTheRelURIRef,
985 bool bIgnoreFragment,
bool bSmart,
bool bRelativeNonURIs,
988 bool convertAbsToRel(
989 OUString
const & rTheAbsURIRef,
996 static bool convertIntToExt(
997 std::u16string_view rTheIntURIRef,
999 rtl_TextEncoding eCharset);
1001 static bool convertExtToInt(
1002 std::u16string_view rTheExtURIRef,
1004 rtl_TextEncoding eCharset);
1027 std::u16string_view rTheUser,
1028 rtl_TextEncoding eCharset);
1030 bool clearPassword();
1033 std::u16string_view rThePassword,
1034 rtl_TextEncoding eCharset);
1040 OUStringBuffer* pCanonic);
1045 bool bNetBiosName, OUStringBuffer* pCanonic);
1048 std::u16string_view rTheHost,
1049 rtl_TextEncoding eCharset);
1056 rtl_TextEncoding eCharset,
bool bSkippedInitialSlash,
1057 sal_uInt32 nSegmentDelimiter, sal_uInt32 nAltSegmentDelimiter,
1058 sal_uInt32 nQueryDelimiter, sal_uInt32 nFragmentDelimiter,
1059 OUStringBuffer &rSynPath);
1062 std::u16string_view rThePath,
1070 sal_Int32 nIndex,
bool bIgnoreFinalSlash)
const;
1077 std::u16string_view rTheQuery,
1082 bool clearFragment();
1085 std::u16string_view rTheMark,
1095 OUStringBuffer & rTheText, sal_uInt32 nOctet);
1097 static void encodeText(
1098 OUStringBuffer& rOutputBuffer,
1101 bool bKeepVisibleEscapes);
1103 static inline void encodeText(
1104 OUStringBuffer& rOutputBuffer,
1105 std::u16string_view rTheText,
Part ePart,
1107 bool bKeepVisibleEscapes);
1109 static OUString decode(
1113 inline OUString decode(
1125 std::u16string_view rTheText,
1128 rtl_TextEncoding eCharset,
1129 bool bKeepVisibleEscapes)
1133 rTheText.data() + rTheText.size(), ePart,
1134 eMechanism, eCharset, bKeepVisibleEscapes);
1139 rtl_TextEncoding eCharset)
const
1144 eMechanism, eCharset) :
1150 rtl_TextEncoding eCharset):
1153 setAbsURIRef(rTheAbsURIRef, eMechanism, eCharset,
false,
1159 rtl_TextEncoding eCharset)
1161 return setAbsURIRef(rTheAbsURIRef, eMechanism, eCharset,
false,
1168 rtl_TextEncoding eCharset,
1172 setAbsURIRef(rTheAbsURIRef, eMechanism, eCharset,
true, eStyle);
1177 rtl_TextEncoding eCharset,
1180 return setAbsURIRef(rTheAbsURIRef, eMechanism, eCharset,
true,
1186 bool & rWasAbsolute,
1187 bool bIgnoreFragment,
1189 rtl_TextEncoding eCharset,
1190 bool bRelativeNonURIs,
1195 eMechanism, eCharset, bIgnoreFragment,
true,
1196 bRelativeNonURIs, eStyle);
1197 return aTheAbsURIRef;
1211 *pTheAbsURIRef = aTheAbsURIRef;
1217 OUString
const & rTheAbsURIRef,
1220 rtl_TextEncoding eCharset,
1223 OUString aTheRelURIRef;
1226 eDecodeMechanism, eCharset, eStyle);
1227 return aTheRelURIRef;
1233 OUString & rTheExtURIRef,
1236 rtl_TextEncoding eCharset)
1239 eDecodeMechanism, eCharset);
1245 OUString & rTheIntURIRef,
1248 rtl_TextEncoding eCharset)
1251 eDecodeMechanism, eCharset);
1256 return rThePassword.empty() ?
1262 std::u16string_view rThePassword)
1264 return setUser(rTheUser, RTL_TEXTENCODING_UTF8)
1265 && (rThePassword.empty() ?
1267 setPassword(rThePassword, RTL_TEXTENCODING_UTF8));
1272 rtl_TextEncoding eCharset)
1274 if (rTheQuery.empty())
1279 return setQuery(rTheQuery, eMechanism, eCharset);
1284 rtl_TextEncoding eCharset)
1286 return rTheFragment.empty() ?
1294 rtl_TextEncoding eCharset)
1296 OUStringBuffer
aBuf;
1298 return aBuf.makeStringAndClear();
1304 rtl_TextEncoding eCharset)
1306 return decode(rText.data(), rText.data() + rText.size(),
1307 eMechanism, eCharset);
const sal_Int32 m_nLength
bool operator==(const BigInt &rVal1, const BigInt &rVal2)
SubString(sal_Int32 nTheBegin=-1, sal_Int32 nTheLength=0)
sal_Int32 getLength() const
sal_Int32 getBegin() const
bool SetPass(std::u16string_view rThePassword)
static OUString decode(std::u16string_view rText, DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
Decode some text.
void SetSmartProtocol(INetProtocol eTheSmartScheme)
DecodeMechanism
The way strings that represent (parts of) URIs are returned from get- methods.
INetProtocol m_eSmartScheme
static bool translateToInternal(std::u16string_view rTheExtURIRef, OUString &rTheIntURIRef, DecodeMechanism eDecodeMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
bool setAbsURIRef(std::u16string_view rTheAbsURIRef, EncodeMechanism eMechanism, rtl_TextEncoding eCharset, bool bSmart, FSysStyle eStyle)
OUString GetMainURL(DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
bool setPassword(std::u16string_view rThePassword, rtl_TextEncoding eCharset)
static bool translateToExternal(std::u16string_view rTheIntURIRef, OUString &rTheExtURIRef, DecodeMechanism eDecodeMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
INetURLObject smartRel2Abs(OUString const &rTheRelURIRef, bool &rWasAbsolute, bool bIgnoreFragment=false, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, bool bRelativeNonURIs=false, FSysStyle eStyle=FSysStyle::Detect) const
static bool convertIntToExt(std::u16string_view rTheIntURIRef, OUString &rTheExtURIRef, DecodeMechanism eDecodeMechanism, rtl_TextEncoding eCharset)
static bool convertExtToInt(std::u16string_view rTheExtURIRef, OUString &rTheIntURIRef, DecodeMechanism eDecodeMechanism, rtl_TextEncoding eCharset)
bool convertRelToAbs(OUString const &rTheRelURIRef, INetURLObject &rTheAbsURIRef, bool &rWasAbsolute, EncodeMechanism eMechanism, rtl_TextEncoding eCharset, bool bIgnoreFragment, bool bSmart, bool bRelativeNonURIs, FSysStyle eStyle) const
OUString GetMark(DecodeMechanism eMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
bool setUser(std::u16string_view rTheUser, rtl_TextEncoding eCharset)
OUStringBuffer m_aAbsURIRef
bool GetNewAbsURL(OUString const &rTheRelURIRef, INetURLObject *pTheAbsURIRef) const
OUString GetPass(DecodeMechanism eMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
bool SetSmartURL(std::u16string_view rTheAbsURIRef, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, FSysStyle eStyle=FSysStyle::Detect)
static void encodeText(OUStringBuffer &rOutputBuffer, sal_Unicode const *pBegin, sal_Unicode const *pEnd, Part ePart, EncodeMechanism eMechanism, rtl_TextEncoding eCharset, bool bKeepVisibleEscapes)
OUString GetUser(DecodeMechanism eMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
bool SetHost(std::u16string_view rTheHost)
OUString GetURLPath(DecodeMechanism eMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
bool setFragment(std::u16string_view rTheMark, EncodeMechanism eMechanism, rtl_TextEncoding eCharset)
static bool IsCaseSensitive()
OUString GetParam(rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
OUString GetHost(DecodeMechanism eMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
bool SetURLPath(std::u16string_view rThePath, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
static OUString GetRelURL(std::u16string_view rTheBaseURIRef, OUString const &rTheAbsURIRef, EncodeMechanism eEncodeMechanism=EncodeMechanism::WasEncoded, DecodeMechanism eDecodeMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, FSysStyle eStyle=FSysStyle::Detect)
bool convertAbsToRel(OUString const &rTheAbsURIRef, OUString &rTheRelURIRef, EncodeMechanism eEncodeMechanism, DecodeMechanism eDecodeMechanism, rtl_TextEncoding eCharset, FSysStyle eStyle) const
INetProtocol GetProtocol() const
bool SetMark(std::u16string_view rTheFragment, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
bool setQuery(std::u16string_view rTheQuery, EncodeMechanism eMechanism, rtl_TextEncoding eCharset)
bool SetParam(std::u16string_view rTheQuery, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
EncodeMechanism
The way input strings that represent (parts of) URIs are interpreted in set-methods.
@ WasEncoded
Sequences of escape sequences, that represent characters from the specified character set and that ca...
bool SetURL(std::u16string_view rTheAbsURIRef, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
bool isSchemeEqualTo(INetProtocol scheme) const
bool SetUser(std::u16string_view rTheUser)
bool SetUserAndPass(std::u16string_view rTheUser, std::u16string_view rThePassword)
static OUString encode(std::u16string_view rText, Part ePart, EncodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
Encode some text as part of a URI.
virtual OUString GetPath() const override
bool operator!=(const Fraction &rVal1, const Fraction &rVal2)
void set(css::uno::UnoInterfaceReference const &value)
SbxDecimal::CmpResult compare(SAL_UNUSED_PARAMETER const SbxDecimal &, SAL_UNUSED_PARAMETER const SbxDecimal &)
tools::Rectangle & operator+=(tools::Rectangle &rRect, const SvBorder &rBorder)
::std::pair< MetaAction *, int > Component
constexpr OUStringLiteral INET_MAILTO_SCHEME
constexpr OUStringLiteral INET_HTTP_SCHEME
constexpr OUStringLiteral INET_HID_SCHEME
constexpr OUStringLiteral INET_FILE_SCHEME
constexpr OUStringLiteral INET_HTTPS_SCHEME
constexpr OUStringLiteral INET_FTP_SCHEME
FSysStyle
The supported notations for file system paths.
@ Detect
Detect the used notation.
@ Unix
Unix notation (e.g., "/dir/file").
@ Dos
DOS notation (e.g., "a:\dir\file" and "\\server\dir\file").
@ Vos
VOS notation (e.g., "//server/dir/file").