theSq3Lite 10.0
Loading...
Searching...
No Matches
Sq3FileC_tcl.c
Go to the documentation of this file.
1
9/* LABEL-START */
10
11#define META_FILE_NAME "Sq3FileC_tcl.c"
12
14
15#define OT_CLASS NS(Sq3FileC)
16#define OT_CLASS_NAME "Sq3FileC"
17
18#define OBJECT2FILE(O) MkAssertCastM(Sq3FileC,(Tcl_ObjectGetMetadata(O, &MK(AtomMeta))))
19
20// TCL class
22
23// META class
25MkThreadLocal OT_OBJ_T SQ3(Sq3FileC_MK_NULL) = NULL;
26
27// META: ObjNew feature: selfCreate will be called from "ObjNew->MkSelfNew" if MkObj need a SELF pointer
28static MK_PTR NS(Sq3FileC_selfCreate) (MK_RT_ARGS MK_OBJ const obj, MK_PTR const env) {
29 OT_ENV_T interp = env;
30 return MK(AtomCreate) (MK_RT_CALL interp,obj,OT_CLASS,NULL,NULL);
31}
32// META: is called when the META object is destroyed and SELF does NOT belongs to the META.
33static void NS(Sq3FileC_selfDelete) (MK_RT_ARGS MK_PTR selfP, MK_PTR const env) {
34 OT_SELF_T selfO = selfP;
35 OT_ENV_T interp = env;
36 MK(AtomDeleteHard) (MK_RT_CALL interp, selfO);
37}
38// META: is called when the META object is destroyed and SELF does NOT belong to the META.
39static void NS(Sq3FileC_selfUnlink) (MK_RT_ARGS MK_PTR selfP, MK_PTR const env) {
40 OT_SELF_T selfO = selfP;
41 OT_ENV_T interp = env;
42 MK(AtomUnlink) (MK_RT_CALL interp, selfO);
43}
44
45// ATTENTION: TCL has no "Unlink" because the "Tcl_ObjectSetMetadata(selfO,&MK(AtomMeta),NULL);" call
46// also the destructor
47
48#define OT_SETUP_hdl_static_constr_pre
49#define OT_SETUP_hdl_static_constr \
50 OT_SETUP_hdl_static_constr_pre; \
51 OT_SETUP_hdl_static
52
53#define OT_SETUP_hdl_static \
54 int __skip=Tcl_ObjectContextSkippedArgs(objCtx); \
55 AllRtSetup_NULL; \
56 __attribute__((unused)) OT_SELF_T selfO = Tcl_ObjectContextObject(objCtx); \
57 __attribute__((unused)) MK_TYP hdl = Sq3FileC##_TT;
58
59#define OT_SETUP_hdl SetupHdlFromMetaData_2(FILE,SQ3_FILE);
60#define OT_SETUP_hdl__null_allow SetupHdlFromMetaData__null_allow_2(FILE,SQ3_FILE);
61#define OT_SETUP_hdl_destr SetupHdlFromMetaData__null_allow_2(FILE,SQ3_FILE);
62
63#define OT_SETUP_hdl_constr_pre
64#define OT_SETUP_hdl_constr \
65 OT_SETUP_hdl_constr_pre; \
66 int __skip=Tcl_ObjectContextSkippedArgs(objCtx); \
67 AllRtSetup_NULL; \
68 MK_RT_UNUSED OT_SELF_T selfO = Tcl_ObjectContextObject(objCtx); \
69 SQ3_FILE hdl = (SQ3_FILE) &MkERROR;
70
71#if !defined(SetupRtFromHdl_XN)
72 #define SetupRtFromHdl_XN(hdl) AllRtSetup_XN(hdl)
73 #define SetupRtFromHdl_X(hdl) AllRtSetup_X(hdl)
74#endif
75
76// initialize the TCL and MO class specific object
77#define ClassInit \
78 /* if not already done, initialize NEW MQ type */ \
79 if (Sq3FileCTT == NULL) Sq3FileCTT = Sq3FileSTT; \
80 \
81 /* protect against double call */ \
82 if (Sq3FileCTT->selfCreate == NS(Sq3FileC_selfCreate)) return MK_OK; \
83 \
84 /* add "selfCreate" and "selfDelete" feature to the MQ-Class */ \
85 Sq3FileCTT->selfCreate = NS(Sq3FileC_selfCreate); \
86 Sq3FileCTT->selfDelete = NS(Sq3FileC_selfDelete); \
87 Sq3FileCTT->selfUnlink = NS(Sq3FileC_selfUnlink); \
88 \
89 /* create the TCL-class */ \
90 OT_SELF_T classO = MK(ClassDef)(interp,ns,Sq3FileCTT); \
91 check_NULL(classO) goto error; \
92 OT_CLASS = Tcl_GetObjectAsClass(classO); \
93 \
94 /* create the TCL static Methods */ \
95 static MkThreadLocal OtUnknownS NS(sClassUnknown) = {OT_UNKNOWN_CLASS}; \
96 check_LNG(MK(UnknownSetup) (interp,classO,NS(sOtClassDef),&NS(sClassUnknown))) goto error; \
97 \
98 /* create the TCL instance Methods */ \
99 static MkThreadLocal OtUnknownS NS(sInstanceUnknown) = {OT_UNKNOWN_INSTANCE}; \
100 check_LNG(MK(UnknownSetup) (interp,classO,NS(sInstanceDef),&NS(sInstanceUnknown))) goto error; \
101 \
102 /* define the "NULL" object */ \
103 SQ3(Sq3FileC_MK_NULL) = Tcl_GetObjectName(interp, \
104 MK(AtomCreate) (MK_RT_CALL interp, NULL /*obj*/, OT_CLASS, "MK_NULL" /*name*/, "::tclsq3lite::Sq3FileC" /*ns*/) \
105 ); \
106 Tcl_IncrRefCount(SQ3(Sq3FileC_MK_NULL));
107
108#define VER TCL_OO_METHOD_VERSION_CURRENT
109
110/* LABEL-END */
111
112// BEGIN-DOC - created by 'tcl_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
113
114// doc-key: Sq3FileC,Sq3File,sCc,func
115#define DatabaseObject_doc "Sq3FileC [Sq3FileC DatabaseObject X:string]"
116
117// doc-key: Sq3FileC,Sq3File,sc_,func
118#define GetNull_doc "Sq3FileC [Sq3FileC GetNull]"
119#define HandleResolve_doc "Sq3FileC [Sq3FileC HandleResolve netHdl:MK_HDL]"
120#define Instances_doc "Sq3FileC [Sq3FileC Instances]"
121
122// doc-key: Sq3FileC,Sq3File,oc_,func
123#define Next_doc "Sq3FileC [$file Next]"
124#define Prev_doc "Sq3FileC [$file Prev]"
125
126// doc-key: Sq3FileC,Sq3File,om_,func
127// skip class-overload: HandleGet → MkObjectHandleGet
128
129// END-DOC - created by 'tcl_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
130
131/*****************************************************************************/
132/* */
133/* O B J E C T */
134/* */
135/*****************************************************************************/
136
137// BEGIN-Sq3FileC - created by 'tcl_MqC.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
138
142
143// doc-key: Sq3FileC,Sq3FileC-Class-Export,sc_
144
146static OT_ProcRet NS(Sq3FileC_HandleResolve) (OtClass_ARGS) {
149 MK_HDL netHdl = 0;
152 SQ3_FILE retVal = Sq3FileHandleResolve (netHdl);
153 OT_retObj_SET_FILE(retVal);
154 goto end;
155 error:
157 end:
159}
160
161// doc-key: Sq3FileC,Sq3FileC-Class-Export,om_
162
163// skip on class-overload: Sq3FileHandleGet → MkObjectHandleGet
165static OT_ProcRet NS(Sq3FileC_HandleGet) (Sq3FileC_ARGS) {OT_ERROR_LNG_RETURN;}
166
168// Sq3FileC_Class_TCL_API
169
173
174// doc-key: Sq3FileC,Sq3FileC-Class-Introspection,oc_
175
177static OT_ProcRet NS(Sq3FileC_Next) (Sq3FileC_ARGS) {
181 SQ3_FILE retVal = Sq3FileNext (hdl);
182 OT_retObj_SET_FILE(retVal);
183 goto end;
184 error:
186 end:
188}
189
191static OT_ProcRet NS(Sq3FileC_Prev) (Sq3FileC_ARGS) {
195 SQ3_FILE retVal = Sq3FilePrev (hdl);
196 OT_retObj_SET_FILE(retVal);
197 goto end;
198 error:
200 end:
202}
203
204// doc-key: Sq3FileC,Sq3FileC-Class-Introspection,sc_
205
207static OT_ProcRet NS(Sq3FileC_Instances) (OtClass_ARGS) {
211 SQ3_FILE retVal = Sq3FileInstances ();
212 OT_retObj_SET_FILE(retVal);
213 goto end;
214 error:
216 end:
218}
219
221// Sq3FileC_Class_TCL_API
222
226
227// doc-key: Sq3FileC,Sq3FileC-Class-Misc,sc_
228
230static OT_ProcRet NS(Sq3FileC_GetNull) (OtClass_ARGS) {
234 SQ3_FILE retVal = Sq3FileGetNull ();
235 OT_retObj_SET_FILE(retVal);
236 goto end;
237 error:
239 end:
241}
242
244// Sq3FileC_Class_TCL_API
245
249
250// doc-key: Sq3FileC,Sq3FileC-TOR,sCc
251
253static OT_ProcRet NS(Sq3FileC_DatabaseObject) (OtClass_ARGS) {
256 MK_STRN X = 0;
259 SQ3_FILE retVal = Sq3FileDatabaseObject (X);
260 if (retVal == NULL) {
261 OT_ERROR_CONSTRUCTOR(Sq3FileC);
262 goto error;
263 }
264 OT_retObj_SET_FILE(retVal);
265 goto end;
266 error:
268 end:
270}
271
273// Sq3FileC_TOR_TCL_API
274
275// END-Sq3FileC - created by 'tcl_MqC.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
276
277// ---------------------------------------------------------------------------------------
278
279static Tcl_MethodType NS(sOtClassDef)[] = {
280// BEGIN-CLASS - created by 'tcl_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
281
282// doc-key: Sq3FileC,Sq3File,sCc
283 {VER, "DatabaseObject" , NS(Sq3FileC_DatabaseObject) , NULL, NULL},
284
285// doc-key: Sq3FileC,Sq3File,sc_
286 {VER, "GetNull" , NS(Sq3FileC_GetNull) , NULL, NULL},
287 {VER, "HandleResolve" , NS(Sq3FileC_HandleResolve) , NULL, NULL},
288 {VER, "Instances" , NS(Sq3FileC_Instances) , NULL, NULL},
289
290// END-CLASS - created by 'tcl_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
291 {0, NULL, NULL, NULL}
292};
293
294// ---------------------------------------------------------------------------------------
295
296static Tcl_MethodType NS(sInstanceDef)[] = {
297// BEGIN-OBJ - created by 'tcl_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
298
299// doc-key: Sq3FileC,Sq3File,oc_
300 {VER, "Next" , NS(Sq3FileC_Next) , NULL, NULL},
301 {VER, "Prev" , NS(Sq3FileC_Prev) , NULL, NULL},
302
303// doc-key: Sq3FileC,Sq3File,om_
304 // skip class-overload: Sq3FileHandleGet → HandleGet, NS(Sq3FileC_HandleGet)
305
306// END-OBJ - created by 'tcl_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
307 {0, NULL, NULL, NULL, NULL}
308};
309
315
316int NS(pSq3FileC_Init) ( MK_RT_ARGS Tcl_Interp *interp, Tcl_Namespace *ns)
317{
319
320 return TCL_OK;
321error:
322 return TCL_ERROR;
323}
#define MK(n)
#define OT_CHECK_NIH(val)
#define OT_SETUP_NOARG(d)
#define OT_SETUP_ONEARG(d)
Tcl_Class OT_CLS_T
#define OT_ERROR_LNG_RETURN
#define OT_retObj_SET_Error
#define OT_ERROR_CONSTRUCTOR(class)
#define OT_CHECK_REQUIRED(val)
#define OT_retObj_RETURN
Tcl_Object OT_SELF_T
#define OT_CHECK_NOARGS
#define OT_ProcRet
Tcl_Interp * OT_ENV_T
Tcl_Obj * OT_OBJ_T
#define OT_CHECK_STRN(val)
tag: nhi1-release-250425
#define OtClass_ARGS
#define SQ3(n)
#define NS(n)
#define OT_retObj_SET_FILE(nat)
#define Sq3FileC_ARGS
#define Instances_doc
#define DatabaseObject_doc
#define OT_SETUP_hdl_static_constr
#define OT_SETUP_hdl
#define GetNull_doc
static __thread MK_TYP Sq3FileCTT
#define Next_doc
#define HandleResolve_doc
#define Prev_doc
#define VER
#define OT_CLASS
#define OT_SETUP_hdl_static
#define ClassInit
#define MK_UNUSED
#define MK_DEPRECATED
MK_PTRB * MK_PTR
const MK_STRB * MK_STRN
int32_t MK_HDL
#define MkThreadLocal
#define MK_RT_CALL
#define MK_RT_ARGS
static SQ3_FILE Sq3FilePrev(SQ3_FILE const file)
get previous instance from linked-list of Sq3FileS type
#define Sq3FileInstances()
#define Sq3FileHandleResolve(...)
static SQ3_FILE Sq3FileNext(SQ3_FILE const file)
get next instance from linked-list of Sq3FileS type
static SQ3_FILE Sq3FileGetNull(void)
Null-Slot - return a Sq3FileC typed NULL instance …
static SQ3_FILE Sq3FileDatabaseObject(MK_STRN X)
Database File Corresponding To A Journal …
Struct to represent the data of the Sq3FileC …