LibreOffice Module tools (master) 1
Classes | Namespaces | Macros | Enumerations | Variables
urlobj.hxx File Reference
#include <tools/toolsdllapi.h>
#include <rtl/ustrbuf.hxx>
#include <rtl/textenc.h>
#include <sal/types.h>
#include <o3tl/typed_flags_set.hxx>
#include <memory>
#include <string_view>
Include dependency graph for urlobj.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  o3tl::typed_flags< FSysStyle >
 
class  INetURLObject
 
class  INetURLObject::SubString
 

Namespaces

namespace  com
 
namespace  com::sun
 
namespace  com::sun::star
 
namespace  com::sun::star::util
 
namespace  com::sun::star::uno
 
namespace  o3tl
 

Macros

#define URL_PREFIX_PRIV_SOFFICE   "private:"
 

Enumerations

enum class  INetProtocol {
  NotValid ,
  Ftp ,
  Http ,
  File ,
  Mailto ,
  VndSunStarWebdav ,
  PrivSoffice ,
  VndSunStarHelp ,
  Https ,
  Slot ,
  Macro ,
  Javascript ,
  Data ,
  Cid ,
  VndSunStarHier ,
  Uno ,
  Component ,
  VndSunStarPkg ,
  Ldap ,
  Db ,
  VndSunStarCmd ,
  Telnet ,
  VndSunStarExpand ,
  VndSunStarTdoc ,
  Generic ,
  Smb ,
  Hid ,
  Sftp ,
  Cmis ,
  LAST = Cmis
}
 
enum class  FSysStyle {
  Vos = 0x1 ,
  Unix = 0x2 ,
  Dos = 0x4 ,
  Detect = Vos | Unix | Dos
}
 The supported notations for file system paths. More...
 

Variables

constexpr OUStringLiteral INET_FTP_SCHEME = u"ftp://"
 
constexpr OUStringLiteral INET_HTTP_SCHEME = u"http://"
 
constexpr OUStringLiteral INET_HTTPS_SCHEME = u"https://"
 
constexpr OUStringLiteral INET_FILE_SCHEME = u"file://"
 
constexpr OUStringLiteral INET_MAILTO_SCHEME = u"mailto:"
 
constexpr OUStringLiteral INET_HID_SCHEME = u"hid:"
 

Macro Definition Documentation

◆ URL_PREFIX_PRIV_SOFFICE

#define URL_PREFIX_PRIV_SOFFICE   "private:"

Definition at line 47 of file urlobj.hxx.

Enumeration Type Documentation

◆ FSysStyle

enum class FSysStyle
strong

The supported notations for file system paths.

Enumerator
Vos 

VOS notation (e.g., "//server/dir/file").

Unix 

Unix notation (e.g., "/dir/file").

Dos 

DOS notation (e.g., "a:\dir\file" and "\\server\dir\file").

Detect 

Detect the used notation.

@descr  For the following descriptions, please note that
whereas FSYS_DEFAULT includes all style bits, combinations of only
a few style bits are also possible, and are also described.

@descr  When used to translate a file system path to a file URL,
the subset of the following productions for which the appropriate
style bit is set are checked in order (using the conventions of
RFC 2234, RFC 2396, and RFC 2732; UCS4 stands for any UCS4
character):

 Production T1 (VOS local; FSysStyle::Vos only):
    "//." ["/" *UCS4]
  becomes
    "file:///" *UCS4

 Production T2 (VOS host; FSysStyle::Vos only):
    "//" [host] ["/" *UCS4]
  becomes
    "file://" host "/" *UCS4

 Production T3 (UNC; FSysStyle::Dos only):
    "\\" [host] ["\" *UCS4]
  becomes
    "file://" host "/" *UCS4
  replacing "\" by "/" within <*UCS4>

 Production T4 (Unix-like DOS; FSysStyle::Dos only):
    ALPHA ":" ["/" *UCS4]
  becomes
    "file:///" ALPHA ":/" *UCS4
  replacing "\" by "/" within <*UCS4>

 Production T5 (DOS; FSysStyle::Dos only):
    ALPHA ":" ["\" *UCS4]
  becomes
    "file:///" ALPHA ":/" *UCS4
  replacing "\" by "/" within <*UCS4>

 Production T6 (any):
     UCS4
  becomes
    "file:///" *UCS4
  replacing the delimiter by "/" within <*UCS4>.  The delimiter is
  that character from the set { "/", "\" } which appears most
  often in <*UCS4> (if FSysStyle::Unix is not among the style bits, "/"
  is removed from the set; if FSysStyle::Dos is not among the style
  bits, "\" is removed from the set).  If two or more
  characters appear the same number of times, the character
  mentioned first in that set is chosen.  If the first character
  of <*UCS4> is the delimiter, that character is not copied.

@descr  When used to translate a file URL to a file system path,
the following productions are checked in order (using the
conventions of RFC 2234, RFC 2396, and RFC 2732):

 Production F1 (VOS; FSysStyle::Vos):
    "file://" host "/" fpath ["#" fragment]
  becomes
    "//" host "/" fpath

 Production F2 (DOS; FSysStyle::Dos):
    "file:///" ALPHA ":" ["/" fpath] ["#" fragment]
  becomes
    ALPHA ":" ["\" fpath]
  replacing "/" by "\" in <fpath>

 Production F3 (Unix; FSysStyle::Unix):
    "file:///" fpath ["#" fragment]
  becomes
    "/" fpath

Definition at line 86 of file urlobj.hxx.

◆ INetProtocol

enum class INetProtocol
strong
Enumerator
NotValid 
Ftp 
Http 
File 
Mailto 
VndSunStarWebdav 
PrivSoffice 
VndSunStarHelp 
Https 
Slot 
Macro 
Javascript 
Data 
Cid 
VndSunStarHier 
Uno 
Component 
VndSunStarPkg 
Ldap 
Db 
VndSunStarCmd 
Telnet 
VndSunStarExpand 
VndSunStarTdoc 
Generic 
Smb 
Hid 
Sftp 
Cmis 
LAST 

Definition at line 50 of file urlobj.hxx.

Variable Documentation

◆ INET_FILE_SCHEME

constexpr OUStringLiteral INET_FILE_SCHEME = u"file://"
inlineconstexpr

Definition at line 43 of file urlobj.hxx.

◆ INET_FTP_SCHEME

constexpr OUStringLiteral INET_FTP_SCHEME = u"ftp://"
inlineconstexpr

Definition at line 40 of file urlobj.hxx.

◆ INET_HID_SCHEME

constexpr OUStringLiteral INET_HID_SCHEME = u"hid:"
inlineconstexpr

Definition at line 45 of file urlobj.hxx.

◆ INET_HTTP_SCHEME

constexpr OUStringLiteral INET_HTTP_SCHEME = u"http://"
inlineconstexpr

Definition at line 41 of file urlobj.hxx.

◆ INET_HTTPS_SCHEME

constexpr OUStringLiteral INET_HTTPS_SCHEME = u"https://"
inlineconstexpr

Definition at line 42 of file urlobj.hxx.

◆ INET_MAILTO_SCHEME

constexpr OUStringLiteral INET_MAILTO_SCHEME = u"mailto:"
inlineconstexpr

Definition at line 44 of file urlobj.hxx.