IO

Detailed Description

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 UrlIoShowInOSDelegate = Delegate< Result< Bool >(const Url &url, IOSHOWINOSFLAGS flags)>
 
using SCConversionFunction = Delegate< Result< Data >(const CString &val)>
 
using SCTypeConversion = HashMap< CString, SCConversionFunction >
 

Enumerations

enum class  IOARCHIVESTOREMETHOD {
  STORE ,
  DEFLATE
}
 
enum class  IOARCHIVEEXTRACTFLAGS {
  NONE ,
  OVERWRITE_EXISTING_FILE
}
 
enum class  IOBROWSEFLAGS {
  NONE ,
  IS_DIRECTORY ,
  IS_BUNDLE ,
  IS_READONLY ,
  IS_HIDDEN ,
  SUPPORT_REVISIONS ,
  IS_LINK ,
  IS_ENCRYPTED ,
  IS_DELETED ,
  IS_INVISIBLE
}
 
enum class  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 class  LEXERSYMBOLFLAGS {
  NONE ,
  NO_NUMBER ,
  ALLOWSTRINGS ,
  MINUS_OPERATOR
}
 
enum class  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 ,
  DOUBLEQUOTEESCAPE ,
  SPACESCOMPATIBILITY ,
  C4DSTRCOMPATIBILITY
}
 
enum class  GETBROWSEITERATORFLAGS {
  NONE ,
  NOERRORONOPEN ,
  RESOLVEPATHS
}
 
enum class  CONVERTTOUINAMEFLAGS {
  NONE ,
  NAMEONLY ,
  DIRECTORYONLY ,
  ADDVERSION ,
  CLEARSUFFIX ,
  DONTADDDATABASE
}
 
enum class  MEDIA {
  UNKNOWN ,
  TEXT ,
  IMAGE ,
  AUDIO ,
  VIDEO ,
  APP ,
  MULTI
}
 
enum class  MEDIASUB {
  UNKNOWN ,
  HTML ,
  HTML_PLAIN ,
  GIF ,
  JPEG ,
  PNG ,
  TIFF ,
  MPEG ,
  QUICKTIME ,
  X_MSVIDEO ,
  RTF ,
  MAC_BINHEX40 ,
  X_STUFFIT ,
  ZIP ,
  OCTET_STREAM ,
  POSTSCRIPT ,
  PDF
}
 
enum class  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")
 
class IoConnectionRef MAXON_FORWARD ("maxon/ioconnection.h")
 
class OutputStreamRef MAXON_FORWARD ("maxon/iostreams.h")
 
class IoBrowseRef MAXON_FORWARD ("maxon/iobrowse.h")
 
class UniversalDateTime MAXON_FORWARD ("maxon/datetime.h")
 
enum maxon::GETBROWSEITERATORFLAGS MAXON_ENUM_FLAGS (GETBROWSEITERATORFLAGS)
 
enum maxon::CONVERTTOUINAMEFLAGS MAXON_ENUM_FLAGS (CONVERTTOUINAMEFLAGS)
 
 MAXON_REGISTRY (UrlIoShowInOSDelegate, UrlIoShowInOSRegistry, "net.maxon.registry.urlioshowinos")
 
 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
 
static const Id URLSCHEME_MEMORYFILESTRUCT
 
static const Id URLSCHEME_RAMDISK
 

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

Provides a type alias used by maxon::Url scheme defintions.

Schemes exposed in url.h :

Scheme Description
maxon::URLSCHEME_FILESYSTEM Scheme identifier for generic file system access.
maxon::URLSCHEME_RELATIVE Scheme identifier for relative Urls which can be resolved with maxon::Url::IoNormalize.
maxon::URLSCHEME_NETWORK Scheme identifier for handling network drive access of a system.
maxon::URLSCHEME_STORAGE Scheme identifier for handling storage device access on a system.
maxon::URLSCHEME_VOLUME Scheme identifier for handling local drive access of a system.
maxon::URLSCHEME_ZIPFILE Scheme identifier for handling zip archive access.
maxon::URLSCHEME_GZIPFILE Scheme identifier for handling zip archive access.
maxon::URLSCHEME_APK_ASSET Scheme identifier for the Android Package (apk) file format.
maxon::URLSCHEME_CRYPTOFILE Scheme identifier for en- and decryption streams.
maxon::URLSCHEME_CACHE Scheme identifier for handling temporary file systems to accelerate file IO.
maxon::URLSCHEME_MEMORY Scheme identifier for handling memory files.
maxon::URLSCHEME_MEMORYFILESTRUCT Scheme identifier for MemoryFileStruct streams.
maxon::URLSCHEME_RAMDISK Scheme identifier for virtual file systems in RAM.
maxon::URLSCHEME_TCP Scheme identifier for Transmission Control Protocol (TCP) connections.
maxon::URLSCHEME_WS Scheme identifier for WebSocket connections.
maxon::URLSCHEME_WSS Scheme identifier for SSL encrypted WebSocket connections.
maxon::URLSCHEME_FTP Scheme identifier for File Transfer Protocol (FTP) connections.
maxon::URLSCHEME_SFTP Scheme identifier for Secure/SSH File Transfer Protocol (SFTP) connections.
maxon::URLSCHEME_HTTP Scheme identifier for Hypertext Transfer Protocol (HTTP) connections.
maxon::URLSCHEME_HTTPS Scheme identifier for Hypertext Transfer Protocol Secure (HTTPS) connections.
maxon::URLSCHEME_PERFORCE Scheme identifier for Perforce access.
maxon::URLSCHEME_AUTHORITY Scheme identifier for storing authority information within the type maxon::Url.
maxon::URLSCHEME_HANDLER Scheme identifier for the default scheme implementation.
maxon::URLSCHEME_PIPE Scheme identifier for inter-process communication.
maxon::URLSCHEME_STDERR Scheme identifier for redirecting outputs to stderr.
maxon::URLSCHEME_STDIN Scheme identifier for redirecting inputs to stdin.
maxon::URLSCHEME_STDOUT Scheme identifier for redirecting outputs to stdout.

Unexposed or outside of url.h exposed schemes:

Scheme Description
maxon::URLSCHEME_UNCFILESYSTEM Scheme identifier for Uniform Naming Convention (UNC) network resource access. Currently not exposed, uses the identifier "unc".
maxon::URLSCHEME_ASSET Currently only exposed in assets.h .
maxon::URLSCHEME_ASSETDB Currently only exposed in assets.h .
maxon::URLSCHEME_META Currently only exposed in assets.h .
maxon::URLSCHEME_METASQ Currently only exposed in assets.h .

◆ UrlIoShowInOSDelegate

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

DOUBLEQUOTEESCAPE 

If set, double quotes will escape the quote char.

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 

Attempts to resolve paths by invoking IoNormalize on them. Non-resolvable paths will not halt iteration and instead be passed through.

◆ CONVERTTOUINAMEFLAGS

enum CONVERTTOUINAMEFLAGS
strong

See ConvertToUiName() and ConvertToUiNameWithRepository()

Enumerator
NONE 

Default: returns directory + name.

NAMEONLY 

Returns only the name without directory + optional version.

DIRECTORYONLY 

Returns only the directory without name.

ADDVERSION 

Adds the version in front of the suffix.

CLEARSUFFIX 

Remove the suffix from the name.

DONTADDDATABASE 

Don't add the Database name in brackets behind the name.

◆ 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/6]

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

◆ MAXON_REGISTRY() [1/6]

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

◆ MAXON_REGISTRY() [2/6]

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

◆ MAXON_ENUM_FLAGS() [2/6]

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/6]

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 convertible 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::Int64 Int64
Definition: ge_sys_math.h:62
maxon::Int Int
Definition: ge_sys_math.h:64
Result< Int > Int64ToInt(Int64 value)
Definition: iostreams.h:308
#define MAXON_SOURCE_LOCATION
Definition: memoryallocationbase.h:67
#define iferr_return
Definition: resultbase.h:1519

◆ MAXON_ENUM_LIST() [2/5]

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

◆ MAXON_ENUM_FLAGS() [3/6]

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

◆ MAXON_ENUM_FLAGS() [4/6]

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

◆ MAXON_REGISTRY() [4/6]

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

◆ MAXON_REGISTRY() [5/6]

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

◆ MAXON_FORWARD() [1/4]

class IoConnectionRef maxon::MAXON_FORWARD ( "maxon/ioconnection.h"  )

◆ MAXON_FORWARD() [2/4]

class InOutputStreamRef MAXON_FORWARD ( "maxon/iostreams.h"  )

◆ MAXON_FORWARD() [3/4]

class IoBrowseRef maxon::MAXON_FORWARD ( "maxon/iobrowse.h"  )

◆ MAXON_FORWARD() [4/4]

class UniversalDateTime maxon::MAXON_FORWARD ( "maxon/datetime.h"  )

◆ MAXON_ENUM_FLAGS() [5/6]

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

◆ MAXON_ENUM_FLAGS() [6/6]

enum maxon::CONVERTTOUINAMEFLAGS maxon::MAXON_ENUM_FLAGS ( CONVERTTOUINAMEFLAGS  )

◆ MAXON_REGISTRY() [6/6]

maxon::MAXON_REGISTRY ( UrlIoShowInOSDelegate  ,
UrlIoShowInOSRegistry  ,
"net.maxon.registry.urlioshowinos"   
)

◆ 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

Scheme identifier for the default scheme implementation.

See also
UrlScheme

◆ URLSCHEME_FILESYSTEM

const Id URLSCHEME_FILESYSTEM
static

Scheme identifier for generic file system access.

Supports all stream types and directory browsing.

See also
UrlScheme

◆ URLSCHEME_AUTHORITY

const Id URLSCHEME_AUTHORITY
static

Scheme identifier for storing authority information within the type maxon::Url.

See also
UrlScheme

◆ URLSCHEME_RELATIVE

const Id URLSCHEME_RELATIVE
static

Scheme identifier for relative Urls which can be resolved with maxon::Url::IoNormalize.

See also
UrlScheme

◆ URLSCHEME_VOLUME

const Id URLSCHEME_VOLUME
static

Scheme identifier for handling local drive access of a system.

The volumes of a system can be iterated with

for (const auto& it : maxon::Url(maxon::URLSCHEME_VOLUME).GetBrowseIterator(maxon::GETBROWSEITERATORFLAGS::NONE)) {}
Definition: url.h:952
static const Id URLSCHEME_VOLUME
Scheme identifier for handling local drive access of a system.
Definition: url.h:708
@ NONE
No flags specified.
See also
UrlScheme

◆ URLSCHEME_NETWORK

const Id URLSCHEME_NETWORK
static

Scheme identifier for handling network drive access of a system.

The network drives of a system can be iterated with

for (const auto& it : maxon::Url(maxon::URLSCHEME_NETWORK).GetBrowseIterator(maxon::GETBROWSEITERATORFLAGS::NONE)) {}
static const Id URLSCHEME_NETWORK
Scheme identifier for handling network drive access of a system.
Definition: url.h:714
See also
UrlScheme

◆ URLSCHEME_STORAGE

const Id URLSCHEME_STORAGE
static

Scheme identifier for handling storage device access on a system.

The storage devices of a system can be iterated with

for (const auto& it : maxon::Url(maxon::URLSCHEME_STORAGE).GetBrowseIterator(maxon::GETBROWSEITERATORFLAGS::NONE)) {}
static const Id URLSCHEME_STORAGE
Scheme identifier for handling storage device access on a system.
Definition: url.h:720
See also
UrlScheme

◆ URLSCHEME_ZIPFILE

const Id URLSCHEME_ZIPFILE
static

Scheme identifier for handling zip archive access.

Supports directory browsing and InputStreams.

See also
UrlScheme

◆ URLSCHEME_GZIPFILE

const Id URLSCHEME_GZIPFILE
static

Scheme identifier for handling gzip archive access.

Supports directory browsing and InputStreams.

See also
UrlScheme

◆ URLSCHEME_MEMORY

const Id URLSCHEME_MEMORY
static

Scheme identifier for handling memory files.

Supports InputStreams and OutputStreams. Please use maxon::IoMemoryInterface for initialization.

See also
UrlScheme
IoMemoryInterface

◆ URLSCHEME_TCP

const Id URLSCHEME_TCP
static

Scheme identifier for Transmission Control Protocol (TCP) connections.

Supports all stream types and can be initialized in the following manners:

streamName.SetAuthority("127.0.0.1:12345"_s);
static const Id URLSCHEME_TCP
Scheme identifier for Transmission Control Protocol (TCP) connections.
Definition: url.h:753
streamName.SetData(maxon::URLFLAGS::TCP_NETWORKCONNECTIONREF, incomingConnection);
See also
UrlScheme

◆ URLSCHEME_WS

const Id URLSCHEME_WS
static

Scheme identifier for WebSocket connections.

See also
UrlScheme

◆ URLSCHEME_WSS

const Id URLSCHEME_WSS
static

Scheme identifier for SSL encrypted WebSocket connections.

See also
UrlScheme

◆ URLSCHEME_HTTP

const Id URLSCHEME_HTTP
static

Scheme identifier for Hypertext Transfer Protocol (HTTP) connections.

Supports only InputStreams.

See also
UrlScheme

◆ URLSCHEME_HTTPS

const Id URLSCHEME_HTTPS
static

Scheme identifier for Hypertext Transfer Protocol Secure (HTTPS) connections.

Supports only InputStreams.

See also
UrlScheme

◆ URLSCHEME_FTP

const Id URLSCHEME_FTP
static

Scheme identifier for File Transfer Protocol (FTP) connections.

Supports InputStreams, OutputStreams and browsing.

See also
UrlScheme

◆ URLSCHEME_SFTP

const Id URLSCHEME_SFTP
static

Scheme identifier for Secure/SSH File Transfer Protocol (SFTP) connections.

Supports InputStreams, OutputStreams and browsing.

See also
UrlScheme

◆ URLSCHEME_PERFORCE

const Id URLSCHEME_PERFORCE
static

Scheme identifier for Perforce access.

Supports browsing depots and InputStreams.

See also
UrlScheme

◆ URLSCHEME_CRYPTOFILE

const Id URLSCHEME_CRYPTOFILE
static

Scheme identifier for en- and decryption streams.

Supports InputStreams, OutputStreams and InOutputStreams.

See also
UrlScheme

◆ URLSCHEME_CACHE

const Id URLSCHEME_CACHE
static

Scheme identifier for handling temporary file systems to accelerate file IO.

Supports InputStreams.

See also
UrlScheme

◆ URLSCHEME_PIPE

const Id URLSCHEME_PIPE
static

Scheme identifier for inter-process communication.

One endpoint must passed to the started process, the other one can be used for reading and writing. Supports only InOutputStreams.

See also
UrlScheme

◆ URLSCHEME_STDOUT

const Id URLSCHEME_STDOUT
static

Scheme identifier for redirecting outputs to stdout.

Supports only OutputStreams.

See also
UrlScheme

◆ URLSCHEME_STDERR

const Id URLSCHEME_STDERR
static

Scheme identifier for redirecting outputs to stderr.

Supports only OutputStreams.

See also
UrlScheme

◆ URLSCHEME_STDIN

const Id URLSCHEME_STDIN
static

Scheme identifier for redirecting inputs to stdin.

Supports only InputStreams.

See also
UrlScheme

◆ URLSCHEME_APK_ASSET

const Id URLSCHEME_APK_ASSET
static

Scheme identifier for the Android Package (apk) file format.

This scheme is only supported on Android.

See also
UrlScheme

◆ URLSCHEME_MEMORYFILESTRUCT

const Id URLSCHEME_MEMORYFILESTRUCT
static

Scheme identifier for MemoryFileStruct streams.

See also
UrlScheme

◆ URLSCHEME_RAMDISK

const Id URLSCHEME_RAMDISK
static

Scheme identifier for virtual file systems in RAM.

See also
UrlScheme