FFI

Overview

FFI class; used to call methods on the fly based on constructed arguments.

Location

  • Reference: Island.fx
  • Namespace: RemObjects.Elements.System
  • Platforms: iOS, iOS Simulator, Mac Catalyst, macOS, tvOS, tvOS Simulator, Ubuntu-aarch64, Ubuntu-x86_64, visionOS, visionOS Simulator, watchOS Simulator, Windows

 

constructor Windows-arm64

 

constructor

 

FFI()

 

init()

 

FFI()

 

Sub New()

Call

Call a method given a set of arguments and flags. Note that this low level method does NO error checking (as it doesn't know the signature of the target method).

 

class method Call(aAddress: ^void; aCallingConv: CallingConvention; var aParams: array of Object; aParameterFlags: array of ArgumentMode; aParameterTypes: array of Type; aResultType: Type): Object

 

static Object Call(void* aAddress, CallingConvention aCallingConv, ref Object[] aParams, ArgumentMode[] aParameterFlags, Type[] aParameterTypes, Type aResultType)

 

static func Call(_ aAddress: UnsafeMutablePointer<void>, _ aCallingConv: CallingConvention, _ aParams: Object..., _ aParameterFlags: ArgumentMode..., _ aParameterTypes: Type..., _ aResultType: Type) -> Object

 

static Object Call(void* aAddress, CallingConvention aCallingConv, __ref Object[] aParams, ArgumentMode[] aParameterFlags, Type[] aParameterTypes, Type aResultType)

 

Shared Function Call(aAddress As Ptr(Of Void), aCallingConv As CallingConvention, ByRef aParams As Object(), aParameterFlags As ArgumentMode(), aParameterTypes As Type(), aResultType As Type) As Object

Parameters:

  • aAddress: Address of the method itself.
  • aCallingConv: Calling convention for the method. Ignored for non i386.
  • aParams: array of parameters to pass.
  • aParameterFlags: Array of parameter flags; these have to match in length with aParams.
  • aParameterTypes: Array of parameter types; these have to match in length with aParams.
  • aResultType: Result type, the call method returns a value of this type.

Equals  virtual    (declared in Object)

Default constructor.

 

method Equals(aOther: Object): Boolean

 

Boolean Equals(Object aOther)

 

func Equals(_ aOther: Object) -> Boolean

 

Boolean Equals(Object aOther)

 

Function Equals(aOther As Object) As Boolean

Parameters:

  • aOther: the reference to compare this with.

Finalize  protected virtual    (declared in Object)

 

method Finalize

 

void Finalize()

 

func Finalize()

 

void Finalize()

 

Sub Finalize()

GetHashCode  virtual    (declared in Object)

Returns a hashcode for this object. Overriden implementations should make sure that the number returned here is constant given the same object.

 

method GetHashCode: Int32

 

Int32 GetHashCode()

 

func GetHashCode() -> Int32

 

Int32 GetHashCode()

 

Function GetHashCode() As Int32

GetType    (declared in Object)

Returns the actual type of this class

 

method GetType: Type

 

Type GetType()

 

func GetType() -> Type

 

Type GetType()

 

Function GetType() As Type

ReferenceEquals    (declared in Object)

Compares two references for equivalence (even if they have an equals operator)

 

class method ReferenceEquals(a: Object; b: Object): Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

 

static func ReferenceEquals(_ a: Object, _ b: Object) -> Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

 

Shared Function ReferenceEquals(a As Object, b As Object) As Boolean

Parameters:

  • a: left value
  • b: right value

ToString  virtual    (declared in Object)

Gets the string representation of this method.

 

method ToString: String

 

String ToString()

 

func ToString() -> String

 

String ToString()

 

Function ToString() As String

 

Call

Call a method given a set of arguments and flags. Note that this low level method does NO error checking (as it doesn't know the signature of the target method).

 

class method Call(aAddress: ^void; aCallingConv: CallingConvention; var aParams: array of Object; aParameterFlags: array of ArgumentMode; aParameterTypes: array of Type; aResultType: Type): Object

 

static Object Call(void* aAddress, CallingConvention aCallingConv, ref Object[] aParams, ArgumentMode[] aParameterFlags, Type[] aParameterTypes, Type aResultType)

 

static func Call(_ aAddress: UnsafeMutablePointer<void>, _ aCallingConv: CallingConvention, _ aParams: Object..., _ aParameterFlags: ArgumentMode..., _ aParameterTypes: Type..., _ aResultType: Type) -> Object

 

static Object Call(void* aAddress, CallingConvention aCallingConv, __ref Object[] aParams, ArgumentMode[] aParameterFlags, Type[] aParameterTypes, Type aResultType)

 

Shared Function Call(aAddress As Ptr(Of Void), aCallingConv As CallingConvention, ByRef aParams As Object(), aParameterFlags As ArgumentMode(), aParameterTypes As Type(), aResultType As Type) As Object

Parameters:

  • aAddress: Address of the method itself.
  • aCallingConv: Calling convention for the method. Ignored for non i386.
  • aParams: array of parameters to pass.
  • aParameterFlags: Array of parameter flags; these have to match in length with aParams.
  • aParameterTypes: Array of parameter types; these have to match in length with aParams.
  • aResultType: Result type, the call method returns a value of this type.

ReferenceEquals    (declared in Object)

Compares two references for equivalence (even if they have an equals operator)

 

class method ReferenceEquals(a: Object; b: Object): Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

 

static func ReferenceEquals(_ a: Object, _ b: Object) -> Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

 

Shared Function ReferenceEquals(a As Object, b As Object) As Boolean

Parameters:

  • a: left value
  • b: right value

 

constructor Windows-arm64

 

constructor

 

FFI()

 

init()

 

FFI()

 

Sub New()

Equals  virtual    (declared in Object)

Default constructor.

 

method Equals(aOther: Object): Boolean

 

Boolean Equals(Object aOther)

 

func Equals(_ aOther: Object) -> Boolean

 

Boolean Equals(Object aOther)

 

Function Equals(aOther As Object) As Boolean

Parameters:

  • aOther: the reference to compare this with.

Finalize  protected virtual    (declared in Object)

 

method Finalize

 

void Finalize()

 

func Finalize()

 

void Finalize()

 

Sub Finalize()

GetHashCode  virtual    (declared in Object)

Returns a hashcode for this object. Overriden implementations should make sure that the number returned here is constant given the same object.

 

method GetHashCode: Int32

 

Int32 GetHashCode()

 

func GetHashCode() -> Int32

 

Int32 GetHashCode()

 

Function GetHashCode() As Int32

GetType    (declared in Object)

Returns the actual type of this class

 

method GetType: Type

 

Type GetType()

 

func GetType() -> Type

 

Type GetType()

 

Function GetType() As Type

ToString  virtual    (declared in Object)

Gets the string representation of this method.

 

method ToString: String

 

String ToString()

 

func ToString() -> String

 

String ToString()

 

Function ToString() As String