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 Simulator, macOS, tvOS Simulator, Ubuntu-x86_64, UIKit for Mac, watchOS Simulator-x86_64, Windows

 

constructor    (declared in Object)

Default constructor.

 

constructor

 

FFI()

 

init()

 

FFI()

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)

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)

Returns true if the target object matches this one, by default compares the reference.

 

method Equals(obj: Object): Boolean

 

Boolean Equals(Object obj)

 

func Equals(_ obj: Object) -> Boolean

 

Boolean Equals(Object obj)

Parameters:

  • obj: the reference to compare this with.

Finalize  protected virtual    (declared in Object)

Finalizer implementation. If not overriden it's not called at all, the runtime checks if there is an override before calling a finalizer.

 

method Finalize

 

void Finalize()

 

func Finalize()

 

void 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()

GetType    (declared in Object)

Returns the actual type of this class

 

method GetType: Type

 

Type GetType()

 

func GetType() -> Type

 

Type GetType()

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)

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()

 

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)

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)

Parameters:

  • a: left value
  • b: right value

 

constructor    (declared in Object)

Default constructor.

 

constructor

 

FFI()

 

init()

 

FFI()

Equals  virtual    (declared in Object)

Returns true if the target object matches this one, by default compares the reference.

 

method Equals(obj: Object): Boolean

 

Boolean Equals(Object obj)

 

func Equals(_ obj: Object) -> Boolean

 

Boolean Equals(Object obj)

Parameters:

  • obj: the reference to compare this with.

Finalize  protected virtual    (declared in Object)

Finalizer implementation. If not overriden it's not called at all, the runtime checks if there is an override before calling a finalizer.

 

method Finalize

 

void Finalize()

 

func Finalize()

 

void 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()

GetType    (declared in Object)

Returns the actual type of this class

 

method GetType: Type

 

Type GetType()

 

func GetType() -> Type

 

Type GetType()

ToString  virtual    (declared in Object)

Gets the string representation of this method.

 

method ToString: String

 

String ToString()

 

func ToString() -> String

 

String ToString()