theSq3Lite 10.0
Loading...
Searching...
No Matches
Sq3Call_atl.c File Reference

tag: nhi1-release-250425 More...

#include "LibSq3Lite_atl.h"
+ Include dependency graph for Sq3Call_atl.c:

Go to the source code of this file.

Macros

#define dbgMsg(fmt, ...)
 
#define dbgObj(obj)
 

Functions

Sq3Fupu_Sq3LiteExec_callback_call_ret atlsq3lite_LiteExecCall (Sq3Fupu_Sq3LiteExec_callback_call_args)
 
Sq3LiteExecV2CB_ret atlsq3lite_LiteExecV2Call (Sq3LiteExecV2CB_args)
 

Detailed Description

tag: nhi1-release-250425

Definition in file Sq3Call_atl.c.

Macro Definition Documentation

◆ dbgMsg

#define dbgMsg ( fmt,
... )

Definition at line 18 of file Sq3Call_atl.c.

◆ dbgObj

#define dbgObj ( obj)

Definition at line 19 of file Sq3Call_atl.c.

Function Documentation

◆ atlsq3lite_LiteExecCall()

Definition at line 40 of file Sq3Call_atl.c.

41{
43
44 // 1. setup environment
45 struct MkCallS * call = callV1 ;
46 assert(call->signature == MkCallS_SIG);
47
48 OT_OBJ_T valsO=NULL;
49 OT_OBJ_T colsO=NULL;
50 MK_RT mkrt=call->mkrt;
51 assert(mkrt != NULL);
52
53 // 2. prolog
54 CallProlog(call->hdl);
55
56 // 3. setup args
57 valsO = Tcl_NewObj();
58 for (int i=0; i<num; i++) {
59 check_LNG(Tcl_ListObjAppendElement(interp,valsO,Tcl_NewStringObj(vals[i],-1))) goto error;
60 }
61 colsO = Tcl_NewObj();
62 for (int i=0; i<num; i++) {
63 check_LNG(Tcl_ListObjAppendElement(interp,colsO,Tcl_NewStringObj(cols[i],-1))) goto error;
64 }
65 objv[objc++] = valsO;
66 objv[objc++] = colsO;
67
68 // 4. setup user args
69 if (call->args) MK(ProcResolveAppendArgs)(call,&objc,objv);
70
71 // 5. call the callback
72 int ret = MK(EvalObjv) (interp, objc, objv, 0); /* "MK(EvalObjv)" IS required !! */
73 if (ret != TCL_OK) goto error;
74
75 Tcl_ResetResult(interp);
76 return 0;
77
78error:
80error_mq:
82 return 1;
83}
#define CallProlog(m)
#define MK(n)
#define MkCallS_SIG
#define check_LNG(code)
#define OT_ERROR_LNG_2_META(m)
MOX_OBJ_T OT_OBJ_T
#define MkErrorStack_0E()
#define Sq3Fupu_Sq3LiteExec_callback_call_check
OT_OBJ_T args
MK_SIG signature

◆ atlsq3lite_LiteExecV2Call()

Sq3LiteExecV2CB_ret atlsq3lite_LiteExecV2Call ( Sq3LiteExecV2CB_args )

Definition at line 105 of file Sq3Call_atl.c.

106{
108
109 // 1. setup environment
110 struct MkCallS * call = callV2 ;
111 assert(call->signature == MkCallS_SIG);
112
113 // 2. prolog
114 CallProlog(call->hdl);
115
116 // 3. setup args
117 objv[objc++] = OT_TMP_BFL_OBJ(vals);
118 objv[objc++] = OT_TMP_BFL_OBJ(cols);
119
120 // 4. setup user args
121 if (call->args) MK(ProcResolveAppendArgs)(call,&objc,objv);
122
123 // 5. call the callback
124 int ret = Tcl_EvalObjv (interp, objc, objv, 0); /* "MK(EvalObjv)" IS NOT required !! */
125 if (ret != TCL_OK) goto error;
126
127 Tcl_ResetResult(interp);
128 return 0;
129
130error:
132error_mq:
134 return 1;
135}
#define OT_TMP_BFL_OBJ(nat)
#define Sq3Fupu_Sq3LiteExecV2CB_callback_call_check