IO

Detailed Description

Namespaces

 maxon::ReadArchiveClasses
 
 maxon::WriteArchiveClasses
 
 maxon::URLFLAGS
 
 maxon::STREAMFLAGS
 
 maxon::StringEncodings
 
 maxon::StringDecodings
 
 maxon::StreamConversions
 

Classes

class  ReadArchiveInterface
 
class  WriteArchiveInterface
 
class  IoBrowseInterface
 
class  ResolveInterface
 
class  IoConnectionInterface
 
class  IoHandlerInterface
 
class  IoMemoryInterface
 
class  IoDualInOutputStreamInterface
 
class  IoPipeInOutputStreamInterface
 
class  UrlOrStream< STREAM >
 
class  IoErrorInterface
 
class  FileFormatErrorInterface
 
class  UnknownFileSizeErrorInterface
 
class  BaseStreamInterface
 
class  InputStreamInterface
 
class  OutputStreamInterface
 
class  InOutputStreamInterface
 
class  LexerInterface
 
class  StringEncodingInterface
 
class  StringDecodingInterface
 
class  UrlInterface
 
class  Url
 
class  IoFileOutputHelper
 
class  IoFileInputHelper
 
class  IoXmlNodeInterface
 
class  IoXmlParser
 
class  SourceControlChangeEntry
 
class  SourceControlInterface
 
class  SmtpErrorInterface
 
struct  SmtpReceiver
 
class  SmtpMailInterface
 

Macros

#define REGISTER_STRINGENCODING(EXTENSION, CATEGORY, IDSYM, IMPLCLASS)
 
#define REGISTER_STRINGENCODING_TEMPLATE(EXTENSION, CATEGORY, IDSYM, IMPLCLASS)
 
#define MAXON_DECLARATION_STRINGENCODING(IDSTR, IDSYM)
 
#define MM_MediaText
 
#define MM_MediaImage
 
#define MM_MediaAudio
 
#define MM_MediaVideo
 
#define MM_MediaApplication
 
#define MM_MediaMultiPart
 
#define MM_MediaMessage
 
#define MM_SubHtml
 
#define MM_SubPlain
 
#define MM_SubRtf
 
#define MM_SubBinhex
 
#define MM_SubStuffit
 
#define MM_SubZip
 
#define MM_SubOctet
 
#define MM_SubPS
 
#define MM_SubPdf
 
#define MM_SubGif
 
#define MM_SubJpeg
 
#define MM_SubPng
 
#define MM_SubTiff
 
#define MM_SubMpeg
 
#define MM_SubMov
 
#define MM_SubAVI
 
#define MM_EncodingBase64
 

Typedefs

using ExtractCallback = Delegate< Result< Bool >(const String &inputName, Url &outputName, IOATTRIBUTES &fileAttributes)>
 
using PIPEHANDLE = int
 
using UrlOrInputStream = UrlOrStream< InputStreamRef >
 
using UrlOrOutputStream = UrlOrStream< OutputStreamRef >
 
using UrlScheme = Id
 
using SCConversionFunction = Delegate< Result< Data >(const CString &val)>
 
using SCTypeConversion = HashMap< CString, SCConversionFunction >
 

Enumerations

enum  IOARCHIVESTOREMETHOD {
  STORE,
  DEFLATE
}
 
enum  IOARCHIVEEXTRACTFLAGS {
  NONE,
  OVERWRITE_EXISTING_FILE
}
 
enum  IOBROWSEFLAGS {
  NONE,
  IS_DIRECTORY,
  IS_BUNDLE,
  IS_READONLY,
  IS_HIDDEN,
  SUPPORT_REVISIONS,
  IS_LINK,
  IS_ENCRYPTED,
  IS_DELETED,
  IS_INVISIBLE
}
 
enum  LEXERSYMBOL : UChar {
  NONE,
  ILLEGAL,
  ENDOFFILE,
  IDENTIFIER,
  STRING,
  STRINGCHR,
  NUMBER,
  NEWLINE,
  CURLYBRACKET_OPEN,
  CURLYBRACKET_CLOSE,
  PARENTHESE_OPEN,
  PARENTHESE_CLOSE,
  SQUAREBRACKET_OPEN,
  SQUAREBRACKET_CLOSE,
  SLASH,
  EQUAL,
  COMMA,
  SEMICOLON,
  COLON,
  PLUS,
  TILDE,
  PREPROCESSOR,
  MULTIPLY,
  PIPE,
  AMPERSAND,
  OPERATOR
}
 
enum  LEXERSYMBOLFLAGS {
  NONE,
  NO_NUMBER,
  ALLOWSTRINGS,
  MINUS_OPERATOR
}
 
enum  LEXERINITFLAGS {
  NONE,
  NEED_EOL,
  REWIND_WHEN_DONE,
  ALLOW_DOLLAR_IDENT,
  ALLOW_AT_IDENT,
  NON_ASCII_IS_IDENT,
  HASH_COMMENTS,
  ESCAPE_IN_SINGLE_QUOTED,
  C_ESCAPE_SEQUENCES,
  SPACESCOMPATIBILITY,
  C4DSTRCOMPATIBILITY
}
 
enum  GETBROWSEITERATORFLAGS {
  NONE,
  NOERRORONOPEN,
  RESOLVEPATHS
}
 
enum  MEDIA {
  UNKNOWN,
  TEXT,
  IMAGE,
  AUDIO,
  VIDEO,
  APP,
  MULTI
}
 
enum  MEDIASUB {
  UNKNOWN,
  HTML,
  HTML_PLAIN,
  GIF,
  JPEG,
  PNG,
  TIFF,
  MPEG,
  QUICKTIME,
  X_MSVIDEO,
  RTF,
  MAC_BINHEX40,
  X_STUFFIT,
  ZIP,
  OCTET_STREAM,
  POSTSCRIPT,
  PDF
}
 
enum  SMTPRECEIVERFIELD : UChar {
  TO,
  CC,
  BCC
}
 

Functions

enum maxon::IOARCHIVESTOREMETHOD MAXON_ENUM_LIST (IOARCHIVESTOREMETHOD)
 
enum maxon::IOARCHIVEEXTRACTFLAGS MAXON_ENUM_FLAGS (IOARCHIVEEXTRACTFLAGS)
 
 MAXON_REGISTRY (Class< ReadArchiveRef >, ReadArchiveClasses, "net.maxon.registry.readarchiveclasses")
 
 MAXON_REGISTRY (Class< WriteArchiveRef >, WriteArchiveClasses, "net.maxon.registry.writearchiveclasses")
 
enum maxon::IOBROWSEFLAGS MAXON_ENUM_FLAGS (IOBROWSEFLAGS, "net.maxon.datatype.enum.iobrowseflags")
 
 MAXON_DECLARATION (Class< IoBrowseRef >, IoBrowseBaseClass, "net.maxon.class.iobrowsebase")
 
 MAXON_DECLARATION (Class< IoConnectionRef >, IoConnectionBaseClass, "net.maxon.class.ioconnectionbase")
 
 MAXON_DECLARATION (Class< IoConnectionRef >, IoConnectionFileClass, "net.maxon.class.ioconnectionfile")
 
 MAXON_REGISTRY (IoHandler, IoHandlers, "net.maxon.registry.iohandlers")
 
 MAXON_DECLARATION (Class< IoHandler >, IoHandlerObjectBaseClass, "net.maxon.class.iohandlerobjectbase")
 
 MAXON_DECLARATION (Class< IoHandler >, IoHandlerObjectFileClass, "net.maxon.class.iohandlerobjectfile")
 
 MAXON_DECLARATION (Class< IoDualInOutputStreamRef >, InOutputStreamDualClass, "net.maxon.class.inoutputstreamdual")
 
 MAXON_DECLARATION (Class< IoError >, IoErrorObjectClass, "net.maxon.class.ioerrorobject")
 
 MAXON_DECLARATION (Class< InputStreamRef >, InputStreamBaseClass, "net.maxon.class.inputstreambase")
 
 MAXON_DECLARATION (Class< OutputStreamRef >, OutputStreamBaseClass, "net.maxon.class.outputstreambase")
 
 MAXON_DECLARATION (Class< InOutputStreamRef >, InOutputStreamBaseClass, "net.maxon.class.inoutputstreambase")
 
 MAXON_DECLARATION (Class< InputStreamRef >, InputStreamDecoratorBaseClass, "net.maxon.class.inputstreamdecorator")
 
 MAXON_DECLARATION (Class< OutputStreamRef >, OutputStreamDecoratorBaseClass, "net.maxon.class.outputstreamdecorator")
 
 MAXON_DECLARATION (Class< InOutputStreamRef >, InOutputStreamDecoratorBaseClass, "net.maxon.class.inoutputstreamdecorator")
 
Result< IntInt64ToInt (Int64 value)
 
enum maxon::LEXERSYMBOL UChar MAXON_ENUM_LIST (LEXERSYMBOL)
 
enum maxon::LEXERSYMBOLFLAGS MAXON_ENUM_FLAGS (LEXERSYMBOLFLAGS)
 
enum maxon::LEXERINITFLAGS MAXON_ENUM_FLAGS (LEXERINITFLAGS)
 
 MAXON_REGISTRY (StringEncodingRef, StringEncodings, "net.maxon.registry.stringencodings")
 
 MAXON_REGISTRY (StringDecodingRef, StringDecodings, "net.maxon.registry.stringdecodings")
 
enum maxon::GETBROWSEITERATORFLAGS MAXON_ENUM_FLAGS (GETBROWSEITERATORFLAGS)
 
 MAXON_DATATYPE (SourceControlChangeEntry, "net.maxon.sourcecontrolchangeentry")
 
enum maxon::MEDIA MAXON_ENUM_LIST (MEDIA)
 
enum maxon::MEDIASUB MAXON_ENUM_LIST (MEDIASUB)
 
enum maxon::SMTPRECEIVERFIELD UChar MAXON_ENUM_LIST (SMTPRECEIVERFIELD)
 
MAXON_FUNCTION Result< Urloperator+ (const String &s) const
 
MAXON_FUNCTION Result< Urloperator+ (const Url &s) const
 

Variables

static const Id URLSCHEME_HANDLER
 
static const Id URLSCHEME_FILESYSTEM
 
static const Id URLSCHEME_AUTHORITY
 
static const Id URLSCHEME_RELATIVE
 
static const Id URLSCHEME_VOLUME
 
static const Id URLSCHEME_NETWORK
 
static const Id URLSCHEME_STORAGE
 
static const Id URLSCHEME_ZIPFILE
 
static const Id URLSCHEME_GZIPFILE
 
static const Id URLSCHEME_MEMORY
 
static const Id URLSCHEME_TCP
 
static const Id URLSCHEME_WS
 
static const Id URLSCHEME_WSS
 
static const Id URLSCHEME_HTTP
 
static const Id URLSCHEME_HTTPS
 
static const Id URLSCHEME_FTP
 
static const Id URLSCHEME_SFTP
 
static const Id URLSCHEME_PERFORCE
 
static const Id URLSCHEME_CRYPTOFILE
 
static const Id URLSCHEME_CACHE
 
static const Id URLSCHEME_PIPE
 
static const Id URLSCHEME_STDOUT
 
static const Id URLSCHEME_STDERR
 
static const Id URLSCHEME_STDIN
 
static const Id URLSCHEME_APK_ASSET
 

Macro Definition Documentation

◆ REGISTER_STRINGENCODING

#define REGISTER_STRINGENCODING (   EXTENSION,
  CATEGORY,
  IDSYM,
  IMPLCLASS 
)

This Macro can be used to register an implementation of a stream en-/decoder.

Parameters
[in]EXTENSIONRegistry to extend. (e.g. StringEncodings or StringDecodings).
[in]CATEGORYEncoder or Decoder.
[in]IDSTRLowercase string with the id to be registered. e.g. "utf8".
[in]IDSYMMixed case id with the id to be registered. e.g. Utf8.
[in]IMPLCLASSImplementation class name.

◆ REGISTER_STRINGENCODING_TEMPLATE

#define REGISTER_STRINGENCODING_TEMPLATE (   EXTENSION,
  CATEGORY,
  IDSYM,
  IMPLCLASS 
)

This Macro can be used to register an implementation of a stream en-/decoder with a impl template class.

Parameters
[in]EXTENSIONRegistry to extend. (e.g. StringEncodings or StringDecodings).
[in]CATEGORYEncoder or Decoder.
[in]IDSTRLowercase string with the id to be registered. e.g. "utf8".
[in]IDSYMMixed case id with the id to be registered. e.g. Utf8.
[in]IMPLCLASSImplementation class name.

◆ MAXON_DECLARATION_STRINGENCODING

#define MAXON_DECLARATION_STRINGENCODING (   IDSTR,
  IDSYM 
)

This Macro adds a given string encoding to the 3 registries: StringEncodings, StringDecodings and StreamConversions.

Parameters
[in]IDSTRLowercase string with the id to be registered. e.g. "utf8".
[in]IDSYMMixed case id with the id to be registered. e.g. Utf8.

◆ MM_MediaText

#define MM_MediaText

◆ MM_MediaImage

#define MM_MediaImage

◆ MM_MediaAudio

#define MM_MediaAudio

◆ MM_MediaVideo

#define MM_MediaVideo

◆ MM_MediaApplication

#define MM_MediaApplication

◆ MM_MediaMultiPart

#define MM_MediaMultiPart

◆ MM_MediaMessage

#define MM_MediaMessage

◆ MM_SubHtml

#define MM_SubHtml

◆ MM_SubPlain

#define MM_SubPlain

◆ MM_SubRtf

#define MM_SubRtf

◆ MM_SubBinhex

#define MM_SubBinhex

◆ MM_SubStuffit

#define MM_SubStuffit

◆ MM_SubZip

#define MM_SubZip

◆ MM_SubOctet

#define MM_SubOctet

◆ MM_SubPS

#define MM_SubPS

◆ MM_SubPdf

#define MM_SubPdf

◆ MM_SubGif

#define MM_SubGif

◆ MM_SubJpeg

#define MM_SubJpeg

◆ MM_SubPng

#define MM_SubPng

◆ MM_SubTiff

#define MM_SubTiff

◆ MM_SubMpeg

#define MM_SubMpeg

◆ MM_SubMov

#define MM_SubMov

◆ MM_SubAVI

#define MM_SubAVI

◆ MM_EncodingBase64

#define MM_EncodingBase64

Typedef Documentation

◆ ExtractCallback

using ExtractCallback = Delegate<Result<Bool>(const String& inputName, Url& outputName, IOATTRIBUTES& fileAttributes)>

Callback used by ReadArchiveRef::Extract. This callback will be called before each file is extracted. inputName is the name that is stored within the archive. outputName is the (modifyable) path at which the file will be created. fileAttributes are the (modifyable) attributes that will be set. The return value determines whether the file will be extracted or not.

◆ PIPEHANDLE

using PIPEHANDLE = int

◆ UrlOrInputStream

typedef UrlOrStream< InputStreamRef > UrlOrInputStream

◆ UrlOrOutputStream

typedef UrlOrStream< OutputStreamRef > UrlOrOutputStream

◆ UrlScheme

using UrlScheme = Id

UrlScheme Id for Url handler. At the moment implemented are:

  • URLSCHEME_FILESYSTEM For files of the file system. It supports streams and directory browsing.
  • URLSCHEME_ZIPFILE For zip files. It supports directory browsing and InputStreams.
  • URLSCHEME_MEMORY For memory files. Please use IoMemoryInterface for initialization. Supports InputStreams and OutputStreams.
  • URLSCHEME_TCP Raw TCP connections. Supports InputStreams, OutputStreams and InOutputStreams. possible initialization are: Url streamName(URLSCHEME_TCP); streamName.SetAuthority("127.0.0.1:12345"_s); Url streamName(URLSCHEME_TCP); streamName.SetData(URLFLAGS::TCP_NETWORKCONNECTIONREF, incomingConnection);
  • URLSCHEME_HTTP For http files. This type only supports InputStreams at the moment.
  • URLSCHEME_HTTPS For https files. This type only supports InputStreams at the moment.
  • URLSCHEME_PERFORCE For perforce access. It supports browsing depots and InputStreams.
  • URLSCHEME_CRYPTOFILE En-/decryption handler. It supports InputStreams, OutputStreams and InOutputStreams.
  • URLSCHEME_FTP For ftp files. This type supports InputStreams, OutputStreams and browsing at the moment.
  • URLSCHEME_SFTP For sftp files. This type supports InputStreams, OutputStreams and browsing at the moment.
  • URLSCHEME_CACHE Wrap input streams to temp files in the file system. This type supports InputStreams at the moment.
  • URLSCHEME_PIPE For inter-process communication. One endpoint can be passed to the started process, the other one can be used for reading and writing. This can only be used with InOutputStreams.
  • URLSCHEME_STDOUT Redirects stdout. Can only be used as OutputStream.
  • URLSCHEME_STDERR Redirects stderr. Can only be used as OutputStream.
  • URLSCHEME_STDIN Redirects stdin. Can only be used as InputStream.
  • URLSCHEME_AUTHORITY Scheme to store authority information.
  • URLSCHEME_RELATIVE Scheme to store relative paths.

◆ SCConversionFunction

◆ SCTypeConversion

Enumeration Type Documentation

◆ IOARCHIVESTOREMETHOD

enum IOARCHIVESTOREMETHOD
strong

Compression methods for files in archives.

Enumerator
STORE 

Simply store the file without compression.

DEFLATE 

Deflates the file in the archive.

◆ IOARCHIVEEXTRACTFLAGS

enum IOARCHIVEEXTRACTFLAGS
strong

Extract Flags used in ReadArchiveInterface::Extract() and ReadArchiveInterface::ExtractSingleFile().

Enumerator
NONE 

No flags.

OVERWRITE_EXISTING_FILE 

Overwrites the file silently if it already exists in the directory.

◆ IOBROWSEFLAGS

enum IOBROWSEFLAGS
strong

Possible flags of IoGetFlags()

Enumerator
NONE 

No bit set.

IS_DIRECTORY 

Browsed file is a directory.

IS_BUNDLE 

Browsed file is a bundle (osx/ios).

IS_READONLY 

Browsed file is read only.

IS_HIDDEN 

Browsed file is hidden.

SUPPORT_REVISIONS 

Browsed file supports file revisions. This means requesting a browseiterator allows to browse through all revisions of the file.

IS_LINK 

Browsed file is a link.

IS_ENCRYPTED 

Browsed file is encrypted within an archive.

IS_DELETED 

Browsed file is deleted. E.g. when browsing a perforce depot with deleted files.

IS_INVISIBLE 

Browsed file should be treated as invisible for the app; this is set for any file that starts with '.' under OSX/Linux or '._' under Windows. Under Windows files can be invisible, but not hidden.

◆ LEXERSYMBOL

enum LEXERSYMBOL : UChar
strong

Enumeration for special lexer symbols.

Enumerator
NONE 
ILLEGAL 
ENDOFFILE 

The end of file or stream was reached.

IDENTIFIER 

An arbitrary symbol that is neither a string, nor a value. It may contain unicode characters.

STRING 

A double-quoted string.

STRINGCHR 

A single-quoted string.

NUMBER 

A numerical value.

NEWLINE 

'\r', '\n' or a combination of both.

CURLYBRACKET_OPEN 

'{' symbol.

CURLYBRACKET_CLOSE 

'}' symbol.

PARENTHESE_OPEN 

'(' symbol.

PARENTHESE_CLOSE 

')' symbol.

SQUAREBRACKET_OPEN 

'[' symbol.

SQUAREBRACKET_CLOSE 

']' symbol.

SLASH 

'/' symbol.

EQUAL 

'=' symbol.

COMMA 

',' symbol.

SEMICOLON 

';' symbol.

COLON 

':' symbol.

PLUS 

'+' symbol.

TILDE 

'~' symbol.

PREPROCESSOR 

'#' symbol.

MULTIPLY 

'*' symbol.

PIPE 

'|' symbol.

AMPERSAND 

'&' symbol.

OPERATOR 

One of the operator symbols added by LexerInterface::AddOperator.

◆ LEXERSYMBOLFLAGS

enum LEXERSYMBOLFLAGS
strong

Flags used for LexerInterface::ReadNextSymbol() and LexerInterface::ReadNextSymbolExpected()

Enumerator
NONE 
NO_NUMBER 

If set, numbers (and characters as '.' or '-') are not recognized as numbers. Instead either an LEXERSYMBOL::IDENTIFIER or LEXERSYMBOL::ILLEGAL will be generated (and GetIdent() returns the symbol).

ALLOWSTRINGS 

If set, strings starting with " or ' will be detected and LEXERSYMBOL::STRING is returned. GetIdent() returns the content of the string.

MINUS_OPERATOR 

If set, the minus symbol in front of a number will be reported as own token.

◆ LEXERINITFLAGS

enum LEXERINITFLAGS
strong

Flags used in LexerInterface::Init()

Enumerator
NONE 
NEED_EOL 

The lexer stops at each end of line and returns LEXERSYMBOL::OPERATOR_NEWLINE whenever a newline appears.

REWIND_WHEN_DONE 

The lexer will rewind the stream to the last interpreted character when it is done. Only set this if you want to continue scanning the open stream. It will only work if the stream supports seeking. Also a string decoding that has an exact counterpart (e.g. StringEncodings::Utf8) needs to be passed to the lexer.

ALLOW_DOLLAR_IDENT 

Allow $ as part of identifiers.

ALLOW_AT_IDENT 

Allow @ as part of identifiers (but not as start).

NON_ASCII_IS_IDENT 

If set, non-ASCII characters (code > 127) are considered to be part of identifiers.

HASH_COMMENTS 

If set, comments are introduced by the hash character (instead of C++-like comments).

ESCAPE_IN_SINGLE_QUOTED 

If set, escape characters are also considered in single-quoted-strings.

C_ESCAPE_SEQUENCES 

If set, a subset of C escape sequences is recognized in strings (\n, \t and \r).

SPACESCOMPATIBILITY 

If set, a newline character will be included in the result of LexerInterface::GetLeadingSpaces.

C4DSTRCOMPATIBILITY 

If set, the lexer will handle the escape character in a special manner. Then the escape character works only for the following character if it matches ".

◆ GETBROWSEITERATORFLAGS

Enumerator
NONE 

No flags specified.

NOERRORONOPEN 

Will return no error when opening a non existing directory but will return an empty browse handler with no entries.

RESOLVEPATHS 

TODO: (Sebastian) please add documentation on this.

◆ MEDIA

enum MEDIA
strong

attachment types for SmtpMailInterface

Enumerator
UNKNOWN 

unknown media

TEXT 

mediatype text

IMAGE 

mediatype image

AUDIO 

mediatype audio

VIDEO 

mediatype video

APP 

mediatype application

MULTI 

mediatype multipart

◆ MEDIASUB

enum MEDIASUB
strong

subtype of media types for SmtpMailInterface

Enumerator
UNKNOWN 
HTML 
HTML_PLAIN 
GIF 
JPEG 
PNG 
TIFF 
MPEG 
QUICKTIME 
X_MSVIDEO 
RTF 
MAC_BINHEX40 
X_STUFFIT 
ZIP 
OCTET_STREAM 
POSTSCRIPT 
PDF 

◆ SMTPRECEIVERFIELD

enum SMTPRECEIVERFIELD : UChar
strong
Enumerator
TO 
CC 
BCC 

Function Documentation

◆ MAXON_ENUM_LIST() [1/5]

enum maxon::IOARCHIVESTOREMETHOD maxon::MAXON_ENUM_LIST ( IOARCHIVESTOREMETHOD  )

◆ MAXON_ENUM_FLAGS() [1/5]

enum maxon::IOARCHIVEEXTRACTFLAGS maxon::MAXON_ENUM_FLAGS ( IOARCHIVEEXTRACTFLAGS  )

◆ MAXON_REGISTRY() [1/5]

maxon::MAXON_REGISTRY ( Class< ReadArchiveRef >  ,
ReadArchiveClasses  ,
"net.maxon.registry.readarchiveclasses"   
)

◆ MAXON_REGISTRY() [2/5]

maxon::MAXON_REGISTRY ( Class< WriteArchiveRef >  ,
WriteArchiveClasses  ,
"net.maxon.registry.writearchiveclasses"   
)

◆ MAXON_ENUM_FLAGS() [2/5]

enum maxon::IOBROWSEFLAGS maxon::MAXON_ENUM_FLAGS ( IOBROWSEFLAGS  ,
"net.maxon.datatype.enum.iobrowseflags"   
)

◆ MAXON_DECLARATION() [1/13]

maxon::MAXON_DECLARATION ( Class< IoBrowseRef >  ,
IoBrowseBaseClass  ,
"net.maxon.class.iobrowsebase"   
)

◆ MAXON_DECLARATION() [2/13]

maxon::MAXON_DECLARATION ( Class< IoConnectionRef >  ,
IoConnectionBaseClass  ,
"net.maxon.class.ioconnectionbase"   
)

◆ MAXON_DECLARATION() [3/13]

maxon::MAXON_DECLARATION ( Class< IoConnectionRef >  ,
IoConnectionFileClass  ,
"net.maxon.class.ioconnectionfile"   
)

◆ MAXON_REGISTRY() [3/5]

maxon::MAXON_REGISTRY ( IoHandler  ,
IoHandlers  ,
"net.maxon.registry.iohandlers"   
)

◆ MAXON_DECLARATION() [4/13]

maxon::MAXON_DECLARATION ( Class< IoHandler >  ,
IoHandlerObjectBaseClass  ,
"net.maxon.class.iohandlerobjectbase"   
)

◆ MAXON_DECLARATION() [5/13]

maxon::MAXON_DECLARATION ( Class< IoHandler >  ,
IoHandlerObjectFileClass  ,
"net.maxon.class.iohandlerobjectfile"   
)

◆ MAXON_DECLARATION() [6/13]

maxon::MAXON_DECLARATION ( Class< IoDualInOutputStreamRef >  ,
InOutputStreamDualClass  ,
"net.maxon.class.inoutputstreamdual"   
)

◆ MAXON_DECLARATION() [7/13]

maxon::MAXON_DECLARATION ( Class< IoError >  ,
IoErrorObjectClass  ,
"net.maxon.class.ioerrorobject"   
)

◆ MAXON_DECLARATION() [8/13]

maxon::MAXON_DECLARATION ( Class< InputStreamRef >  ,
InputStreamBaseClass  ,
"net.maxon.class.inputstreambase"   
)

◆ MAXON_DECLARATION() [9/13]

maxon::MAXON_DECLARATION ( Class< OutputStreamRef >  ,
OutputStreamBaseClass  ,
"net.maxon.class.outputstreambase"   
)

◆ MAXON_DECLARATION() [10/13]

maxon::MAXON_DECLARATION ( Class< InOutputStreamRef >  ,
InOutputStreamBaseClass  ,
"net.maxon.class.inoutputstreambase"   
)

◆ MAXON_DECLARATION() [11/13]

maxon::MAXON_DECLARATION ( Class< InputStreamRef >  ,
InputStreamDecoratorBaseClass  ,
"net.maxon.class.inputstreamdecorator"   
)

◆ MAXON_DECLARATION() [12/13]

maxon::MAXON_DECLARATION ( Class< OutputStreamRef >  ,
OutputStreamDecoratorBaseClass  ,
"net.maxon.class.outputstreamdecorator"   
)

◆ MAXON_DECLARATION() [13/13]

maxon::MAXON_DECLARATION ( Class< InOutputStreamRef >  ,
InOutputStreamDecoratorBaseClass  ,
"net.maxon.class.inoutputstreamdecorator"   
)

◆ Int64ToInt()

Result<Int> maxon::Int64ToInt ( Int64  value)

This function is often useful when getting a file length and need to check if the size is convertable into a memory size. depending on the platform 32 or 64 bit this might fail.

Parameters
[in]valueValue to cast to an Int.
Returns
A valid Int or an error.
Int64 fileSize = fileStream.GetLength()) iferr_return;
Int memSize = Int64ToInt(fileSize) iferr_return;
if (!arr.Resize(memSize))
return OutOfMemoryError(MAXON_SOURCE_LOCATION);

◆ MAXON_ENUM_LIST() [2/5]

enum maxon::LEXERSYMBOL UChar maxon::MAXON_ENUM_LIST ( LEXERSYMBOL  )

◆ MAXON_ENUM_FLAGS() [3/5]

enum maxon::LEXERSYMBOLFLAGS maxon::MAXON_ENUM_FLAGS ( LEXERSYMBOLFLAGS  )

◆ MAXON_ENUM_FLAGS() [4/5]

enum maxon::LEXERINITFLAGS maxon::MAXON_ENUM_FLAGS ( LEXERINITFLAGS  )

◆ MAXON_REGISTRY() [4/5]

maxon::MAXON_REGISTRY ( StringEncodingRef  ,
StringEncodings  ,
"net.maxon.registry.stringencodings"   
)

◆ MAXON_REGISTRY() [5/5]

maxon::MAXON_REGISTRY ( StringDecodingRef  ,
StringDecodings  ,
"net.maxon.registry.stringdecodings"   
)

◆ MAXON_ENUM_FLAGS() [5/5]

enum maxon::GETBROWSEITERATORFLAGS maxon::MAXON_ENUM_FLAGS ( GETBROWSEITERATORFLAGS  )

◆ MAXON_DATATYPE()

maxon::MAXON_DATATYPE ( SourceControlChangeEntry  ,
"net.maxon.sourcecontrolchangeentry"   
)

◆ MAXON_ENUM_LIST() [3/5]

enum maxon::MEDIA maxon::MAXON_ENUM_LIST ( MEDIA  )

◆ MAXON_ENUM_LIST() [4/5]

enum maxon::MEDIASUB maxon::MAXON_ENUM_LIST ( MEDIASUB  )

◆ MAXON_ENUM_LIST() [5/5]

enum maxon::SMTPRECEIVERFIELD UChar maxon::MAXON_ENUM_LIST ( SMTPRECEIVERFIELD  )

◆ operator+() [1/2]

Result< Url > operator+ ( const String s) const

Appends a name to the Url.

◆ operator+() [2/2]

Result< Url > operator+ ( const Url s) const

Appends a relative Url to the current Url.

Variable Documentation

◆ URLSCHEME_HANDLER

const Id URLSCHEME_HANDLER
static

The "handler" scheme returns all registered schemes when iterating over them.

◆ URLSCHEME_FILESYSTEM

const Id URLSCHEME_FILESYSTEM
static

Identifier for scheme

See also
UrlScheme

◆ URLSCHEME_AUTHORITY

const Id URLSCHEME_AUTHORITY
static

◆ URLSCHEME_RELATIVE

const Id URLSCHEME_RELATIVE
static

Identifier for scheme

See also
UrlScheme

◆ URLSCHEME_VOLUME

const Id URLSCHEME_VOLUME
static

Identifier for "volume" handler, you can use that to browse through all available volumes: for (const auto& it : Url(URLSCHEME_VOLUME).GetBrowseIterator(GETBROWSEITERATORFLAGS::NONE)) {}

See also
UrlScheme

◆ URLSCHEME_NETWORK

const Id URLSCHEME_NETWORK
static

Identifier for "network" handler, you can use that to browse through all available network drives on the system: for (const auto& it : Url(URLSCHEME_NETWORK).GetBrowseIterator(GETBROWSEITERATORFLAGS::NONE)) {}

See also
UrlScheme

◆ URLSCHEME_STORAGE

const Id URLSCHEME_STORAGE
static

Identifier for "storage" handler, you can use that to browse through all available storage devices on the system. These are devices that have no drive letter mounted (e.g. iPhone/iPad internal storage directory): for (const auto& it : Url(URLSCHEME_STORAGE).GetBrowseIterator(GETBROWSEITERATORFLAGS::NONE)) {}

See also
UrlScheme

◆ URLSCHEME_ZIPFILE

const Id URLSCHEME_ZIPFILE
static

Identifier for "zip" file handler

See also
UrlScheme

◆ URLSCHEME_GZIPFILE

const Id URLSCHEME_GZIPFILE
static

Identifier for "gzip" file handler

See also
UrlScheme

◆ URLSCHEME_MEMORY

const Id URLSCHEME_MEMORY
static

Identifier for "memory" file handler

See also
UrlScheme
IoMemoryRef

◆ URLSCHEME_TCP

const Id URLSCHEME_TCP
static

Identifier for "tcp" file handler

See also
UrlScheme

◆ URLSCHEME_WS

const Id URLSCHEME_WS
static

Identifier for "ws" WebSocket file handler.

See also
UrlScheme

◆ URLSCHEME_WSS

const Id URLSCHEME_WSS
static

Identifier for "wss" ssl encrypted WebSocket file handler.

See also
UrlScheme

◆ URLSCHEME_HTTP

const Id URLSCHEME_HTTP
static

Identifier for "http" file handler

See also
UrlScheme

◆ URLSCHEME_HTTPS

const Id URLSCHEME_HTTPS
static

Identifier for "https" file handler

See also
UrlScheme

◆ URLSCHEME_FTP

const Id URLSCHEME_FTP
static

Identifier for "ftp" file handler

See also
UrlScheme

◆ URLSCHEME_SFTP

const Id URLSCHEME_SFTP
static

Identifier for "sftp" file handler

See also
UrlScheme

◆ URLSCHEME_PERFORCE

const Id URLSCHEME_PERFORCE
static

Identifier for "perforce" source controls system handler

See also
UrlScheme

◆ URLSCHEME_CRYPTOFILE

const Id URLSCHEME_CRYPTOFILE
static

Identifier for "crypto" file handler. It can encrypt/decrypt files on the fly while reading/writing data.

See also
UrlScheme

◆ URLSCHEME_CACHE

const Id URLSCHEME_CACHE
static

Identifier for "cache" file handler. It can embed input streams into a cached file, e.g. for reading a zip file from ftp / http to speed up seeks and read operations.

See also
UrlScheme

◆ URLSCHEME_PIPE

const Id URLSCHEME_PIPE
static

Identifier for "pipe" file handler.

See also
UrlScheme

◆ URLSCHEME_STDOUT

const Id URLSCHEME_STDOUT
static

Identifier for "stdout" file handler.

See also
UrlScheme

◆ URLSCHEME_STDERR

const Id URLSCHEME_STDERR
static

Identifier for "stderr" file handler.

See also
UrlScheme

◆ URLSCHEME_STDIN

const Id URLSCHEME_STDIN
static

Identifier for "stdin" file handler.

See also
UrlScheme

◆ URLSCHEME_APK_ASSET

const Id URLSCHEME_APK_ASSET
static

Identifier for "apk" file handler. This is only supported on Android.

See also
UrlScheme