theSq3Lite 10.0
Loading...
Searching...
No Matches
LibSq3Lite_private_atl.h File Reference

tag: nhi1-release-250425 More...

#include "debug_mk.h"
#include "nhi1_config.h"
#include "rl_mox.h"
#include "LibSq3Lite_atl.h"
+ Include dependency graph for LibSq3Lite_private_atl.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MK_RT_SETUP   OT_MK_RT_T amkrt = alcrt->amkrt
 
#define MK_RT_SETUP_METHOD
 
#define RL_RT   (*asq3rt)
 

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 LibSq3Lite_private_atl.h.

Macro Definition Documentation

◆ MK_RT_SETUP

#define MK_RT_SETUP   OT_MK_RT_T amkrt = alcrt->amkrt

Definition at line 14 of file LibSq3Lite_private_atl.h.

◆ MK_RT_SETUP_METHOD

#define MK_RT_SETUP_METHOD
Value:
OT_SQ3_RT_T asq3rt = clientData; \
OT_MK_RT_T amkrt = asq3rt->amkrt; \
MkRtSetup_RT(asq3rt->mkrt); \
#define SETUP_moxrt
OT_MK_RT_T amkrt

Definition at line 15 of file LibSq3Lite_private_atl.h.

15#define MK_RT_SETUP_METHOD OT_SQ3_RT_T asq3rt = clientData; \
16 OT_MK_RT_T amkrt = asq3rt->amkrt; \
17 MkRtSetup_RT(asq3rt->mkrt); \
18 SETUP_moxrt

◆ RL_RT

#define RL_RT   (*asq3rt)

Definition at line 23 of file LibSq3Lite_private_atl.h.

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