Skip to content

External Types

External Types can be provided with a YAML file, that provides all the necessary information for the targeted languages.

Type Definition

JSON-Schema

Name Type Description
comment string A short description of the type
deprecated string, boolean Marks a type as deprecated
Default: False
name string Name of the type in the IDL
namespace array Namespace that the type lives in
Default: []
primitive string The underlying primitive type
Default: primitive
params array Default: []

cpp

Name Type Description
typename string Must be a valid C++ type identifier
Examples:
- int8_t
- ::some::Type
header string (Optional)
by_value boolean Default: False

cppcli

Name Type Description
typename string
translator string
header string (Optional)
reference boolean Default: True

java

Java type information

Name Type Description
typename string (Optional)
boxed string (Optional)Default: ``
reference boolean Default: True
generic boolean Default: False

jni

Name Type Description
translator string
header string
typename string One of jobject, jstring, jboolean, jbyte, jchar, jshort, jint, jlong, jfloat, jdouble, jbyteArray
type_signature string Java VM Type Signatures
Example: I
boxed_type_signature string Type signature of the boxed Java type. If the type is always boxed, both type_signature and boxed_type_signature should contain the same value.
Example: Ljava/lang/Integer;

objc

Name Type Description
typename string (Optional)
boxed string
header string (Optional)
pointer boolean Default: True

objcpp

Name Type Description
translator string
header string