Data Types

The MIME API has several data types. While these are returned from SQL functions, like the XML API data types (here) they are memory-only objects that can only be used in Vortex, not stored externally in SQL tables.

In discussing the MIME API data types, the following MIME terms are used:

: A complete or "top-level" Internet message, possibly containing multiple parts.
: One of the parts in a multipart message, or a complete message itself. An entity may itself contain further entities, which may be referred to as an entity tree.

Due to the recursive nature of MIME, these definitions are necessarily circular; see RFCs 822, 2045 and 5322 for more details. Since a "plain", non-MIME, RFC 822 message is also MIME-compliant, this API can also parse such messages; it is not restricted to explicit "MIME-Version"-labelled messages.

Like the XML API (here), the MIME API data types need not be explicitly "closed" when done - in fact there are no "close" functions. An object is freed when the last Vortex variable reference to it is freed, either by explicit reassignment to something else (or nothing), or by the variable going out of scope. (Thus, MIME API objects used only within a single function call are generally assigned to local Vortex variables, so they will be automatically freed when the call ends.) Similarly, copying an object from one Vortex variable to another does not duplicate the object, but merely increases its reference count: both variables may continue to manipulate the same underlying object, and each variable's changes are reflected in the other.

Copyright © Thunderstone Software     Last updated: Dec 10 2018
Copyright © 2019 Thunderstone Software LLC. All rights reserved.