libGimbal 0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches

Files

file  gimbal_c_closure.h
 
file  gimbal_class_closure.h
 
file  gimbal_closure.h
 
file  gimbal_marshal.h
 
file  gimbal_signal.h
 
file  gimbal_signal_closure.h
 

Data Structures

struct  GblCClosure
 
struct  GblClassClosure
 
struct  GblClosure
 
struct  GblSignalClosure
 

Typedefs

typedef GBL_RESULT(* GblMarshalFn) (GblClosure *pClosure, GblVariant *pRetValue, size_t argCount, GblVariant *pArgs, GblPtr pMarshalData)
 

Detailed Description

Signal emission mechanism and its related components.

Typedef Documentation

◆ GblMarshalFn

typedef GBL_RESULT(* GblMarshalFn) (GblClosure *pClosure, GblVariant *pRetValue, size_t argCount, GblVariant *pArgs, GblPtr pMarshalData)

#include <gimbal_marshal.h>

Function signature for a generic marshal function.

Marshal functions form the basis of the closure system, and are used by all GblClosure instances. They are the primary entry point for generic function invocation, and are the glue between a generic GblClosure and an actual language-dependent real function call.

They take a generic list of arguments, marshal them into an actual function (which is typically stored with GblClosure), then demarshal out the return type.

Definition at line 50 of file gimbal_marshal.h.