2
3
4
5
6
7
8
9
10
11
12
13#ifndef GIMBAL_MARSHAL_H
14#define GIMBAL_MARSHAL_H
16#include "../../core/gimbal_typedefs.h"
17#include "../types/gimbal_type.h"
21
22
23
25#define GBL_DECL_CCLOSURE_MARSHAL_VOID__(postFix)
28#define GBL_DEFINE_CCLOSURE_MARSHAL_VOID__(paramsPostfix, paramCount, paramList, argList)
38
39
40
41
42
43
44
45
46
47
48
49
50typedef GBL_RESULT (*GblMarshalFn) (GblClosure* pClosure,
51 GblVariant* pRetValue,
57typedef GBL_RESULT (*GblMarshalVaFn)(GblClosure* pClosure,
58 GblVariant* pRetValue,
66
67
68
71 GblVariant* pRetValue,
77 GblVariant* pRetValue,
82GBL_EXPORT GBL_RESULT GblMarshal_SignalForwarder (GblClosure* pClosure,
83 GblVariant* pRetValue,
88#define GBL_DECL_CCLOSURE_MARSHAL_VOID___(postFix)
90 GblMarshal_CClosure_VOID__##postFix(GblClosure* pClosure,
91 GblVariant* pRetValue,
123#define GBL_DEFINE_CCLOSURE_MARSHAL_VOID___(paramsPostfix, paramCount, paramList, argList)
124 GBL_EXPORT GBL_RESULT GblMarshal_CClosure_VOID__##paramsPostfix(GblClosure* pClosure,
125 GblVariant* pRetValue,
131 typedef void (*CFunction)(GBL_EVAL paramList);
134 GblCClosure* pCClosure = (GblCClosure*)pClosure;
135 CFunction pFnPtr = (CFunction)((pMarshalData.pFunc)?
136 pMarshalData.pFunc : GBL_PRIV_REF(pCClosure).pFnCallback);
#define GBL_FORWARD_DECLARE_STRUCT(S)
#define GBL_DEFINE_CCLOSURE_MARSHAL_VOID___(paramsPostfix, paramCount, paramList, argList)
GBL_RESULT GblMarshal_ClassClosureMeta(GblClosure *pClosure, GblVariant *pRetValue, size_t argCount, GblVariant *pArgs, GblPtr pMarshalData)
GblMarshalFn to be used as the marshal for GblSignalClosure.
#define GBL_DECL_CCLOSURE_MARSHAL_VOID__(postFix)
Declares a GblMarshalFn for a GblCClosure which returns nothing and has the given name postfix (usual...
#define GBL_DECL_CCLOSURE_MARSHAL_VOID___(postFix)
GBL_RESULT GblMarshal_CClosure_VOID__VOID(GblClosure *pClosure, GblVariant *pRetValue, size_t argCount, GblVariant *pArgs, GblPtr pMarshalData)
< GblMarshalFn which takes nothing and returns nothing
#define GBL_RESULT_SUCCESS(value)
#define GBL_INVALID_TYPE
GblType UUID of the invalid type.