theSq3Lite 10.0 NHI1 - theKernel - theLink - theConfig - theSq3Lite - theCompiler - theBrain - theGuard - theLib - theATL
c - tcl - atl - cs - py - rb - jv - cc
Loading...
Searching...
No Matches
Sq3FileC_rb.c
Go to the documentation of this file.
1
12/* LABEL-START */
13#define META_FILE_NAME "Sq3FileC_rb.c"
14
16
17#define OT_CLASS NS(Sq3FileC)
18#define OT_CLASS_NAME "Sq3FileC"
19
20#define OT_LNG2META(O) Sq3File(VAL2MNG(O))
21
23
24// new Class type object
25static MK_TYP Sq3FileCTT = NULL;
27
28// GS marker in "Data_Wrap_Struct"
29static void NS(sMark) (MK_PTR);
30
31// ruby datatype of the wrapped struct
32static rb_data_type_t NS(Sq3FileC_T) = {
33 "Sq3FileC",
34 {
35 NS(sMark),
36 MK(AtomDeleteSoft),
37 0, /* dsize */
38 0, /* reserved[1] */
39 },
40 NULL, /* parent */
41 NULL, /* data */
42 RUBY_TYPED_FREE_IMMEDIATELY
43};
44
45// >>THIS<< is a Phase-1-CONSTRUCTOR: a constructor which create the SELF object
46// A Phase-2-CONSTRUCTOR is a constructor which configure an already existing object
47// DO: create a new SELF and link this SELF with the MQ-Object "mng"
48// clazz is the toplevel "subclass" or "Sq3FileC"
49mk_inline OT_OBJ_T NS(LNG_CONSTR) (OT_CLS_T clazz, MK_MNG mng, int objc, VALUE* objv) {
50 return MK(AtomObjCrt)(clazz,&NS(Sq3FileC_T),mng,objc,objv);
51}
52// MQ: ObjNew feature: called to return a new or an already existing RUBY-SELF-Object
53// -> moved to: msgque_rb.h
54// OT_OBJ_T NS(Sq3FileC_ObjNew) (MK_FILE hdl) {
55// return MK(AtomObjNew) (Sq3FileC_X2obj(hdl));
56// }
57// MQ: ObjNew feature: selfCreate will be called from "ObjNew->MkSelfNew" if MkObj need a SELF pointer
58static MK_PTR NS(Sq3FileC_selfCreate) (MK_RT_ARGS MK_OBJ obj, MK_PTR envP) {
59 OT_OBJ_T self = NS(LNG_CONSTR) (OT_CLASS, obj, 0, NULL);
60 return VAL2PTR(self);
61}
62// MQ: called on instance-destruction for a "selfCreate" instance → goal: destroy the SELF
63static void NS(Sq3FileC_selfDelete) (MK_RT_ARGS MK_PTR ptr, MK_PTR envP) {
65}
66// MQ: called to destroy link from SELF to META
67static void NS(Sq3FileC_selfUnlink) (MK_RT_ARGS MK_PTR ptr, MK_PTR envP) {
68 OT_OBJ_T self = PTR2VAL(ptr);
69 RDATA(self)->data = NULL;
70}
71// initialize the RUBY and MO class specific object
72#define S_INIT NS(sInit)(MK_RT_CALL_ONLY)
73static void NS(sInit)(MK_RT_ARGS_ONLY) {
74
75 // add "selfCreate" and "selfDelete" feature to the MQ-Sq3FileC-Type
76 Sq3FileCTT->selfCreate = NS(Sq3FileC_selfCreate);
77 Sq3FileCTT->selfDelete = NS(Sq3FileC_selfDelete);
78 Sq3FileCTT->selfUnlink = NS(Sq3FileC_selfUnlink);
79
80 // create the RUBY class
81 OT_CLASS = rb_define_class_under(OT_PKG, "Sq3FileC", MK_BASE_CLASS);
82 rb_undef_alloc_func(OT_CLASS);
83
84 /* define the "NULL" object */
85 VALUE nullO = TypedData_Wrap_Struct (OT_CLASS, &NS(Sq3FileC_T), MK_NULL);
86 NS(Sq3FileC_MK_NULL) = nullO;
88}
89
90#define OT_SETUP_hdl OT_SETUP_hdl_tmpl(Sq3FileC);
91#define OT_SETUP_hdl__null_allow OT_SETUP_hdl_tmpl__null_allow(Sq3FileC);
92#define OT_SETUP_hdl_constr AllRtSetup_NULL; \
93 OT_OBJ_T clazz = self; \
94 Sq3FileC_type hdl = (Sq3FileC_type) &MkERROR;
95#define OT_SETUP_hdl_destr OT_SETUP_hdl_tmpl__null_allow(Sq3FileC);
96#define OT_SETUP_hdl_static AllRtSetup_NULL; \
97 __attribute__((unused)) MK_TYP hdl = Sq3FileC##_TT;
98#define OT_SETUP_hdl_static_constr OT_SETUP_hdl_static
99
100#if !defined(SetupRtFromObj_X)
101 #define SetupRtFromObj_X(hdl) AllRtSetup_X(hdl)
102 #define SetupRtFromObj_XN(hdl) AllRtSetup_XN(hdl)
103#endif
104
105/* LABEL-END */
106
107// BEGIN-DOC - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
108
109// doc-key: Sq3FileC,Sq3File,sCc,func
110#define DatabaseObject_doc "Sq3FileC Sq3FileC.DatabaseObject(X:string)"
111
112// doc-key: Sq3FileC,Sq3File,sc_,func
113#define GetNull_doc "Sq3FileC Sq3FileC.GetNull()"
114#define HandleResolve_doc "Sq3FileC Sq3FileC.HandleResolve(netHdl:MK_HDL)"
115#define Instances_doc "Sq3FileC Sq3FileC.Instances()"
116
117// doc-key: Sq3FileC,Sq3File,oc_,func
118#define Next_doc "Sq3FileC file.Next()"
119#define Prev_doc "Sq3FileC file.Prev()"
120
121// doc-key: Sq3FileC,Sq3File,om_,func
122// skip class-overload: HandleGet → MkObjectHandleGet
123
124// END-DOC - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
125
126/*****************************************************************************/
127/* */
128/* O B J E C T */
129/* */
130/*****************************************************************************/
131
132// BEGIN-Sq3FileC - created by 'rb_MqC.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
133
137
138// doc-key: Sq3FileC,Sq3FileC-Class-Export,sc_
139
141static OT_ProcRet NS(Sq3FileC_HandleResolve) (OtClass_ARGS) {
144 MK_HDL netHdl = 0;
147 SQ3_FILE retVal = Sq3FileHandleResolve (netHdl);
148 OT_retObj_SET_FILE(retVal);
149 end: MK_UNUSED /* LONG JUMP on error */
151}
152
153// doc-key: Sq3FileC,Sq3FileC-Class-Export,om_
154
155// skip on class-overload: Sq3FileHandleGet → MkObjectHandleGet
157static OT_ProcRet NS(Sq3FileC_HandleGet) (Sq3FileC_ARGS) {OT_ERROR_LNG_RETURN;}
158
160// Sq3FileC_Class_RB_API
161
165
166// doc-key: Sq3FileC,Sq3FileC-Class-Introspection,oc_
167
169static OT_ProcRet NS(Sq3FileC_Next) (Sq3FileC_ARGS) {
173 SQ3_FILE retVal = Sq3FileNext (hdl);
174 OT_retObj_SET_FILE(retVal);
175 end: MK_UNUSED /* LONG JUMP on error */
177}
178
180static OT_ProcRet NS(Sq3FileC_Prev) (Sq3FileC_ARGS) {
184 SQ3_FILE retVal = Sq3FilePrev (hdl);
185 OT_retObj_SET_FILE(retVal);
186 end: MK_UNUSED /* LONG JUMP on error */
188}
189
190// doc-key: Sq3FileC,Sq3FileC-Class-Introspection,sc_
191
193static OT_ProcRet NS(Sq3FileC_Instances) (OtClass_ARGS) {
197 SQ3_FILE retVal = Sq3FileInstances ();
198 OT_retObj_SET_FILE(retVal);
199 end: MK_UNUSED /* LONG JUMP on error */
201}
202
204// Sq3FileC_Class_RB_API
205
209
210// doc-key: Sq3FileC,Sq3FileC-Class-Misc,sc_
211
213static OT_ProcRet NS(Sq3FileC_GetNull) (OtClass_ARGS) {
217 SQ3_FILE retVal = Sq3FileGetNull ();
218 OT_retObj_SET_FILE(retVal);
219 end: MK_UNUSED /* LONG JUMP on error */
221}
222
224// Sq3FileC_Class_RB_API
225
229
230// doc-key: Sq3FileC,Sq3FileC-TOR,sCc
231
233static OT_ProcRet NS(Sq3FileC_DatabaseObject) (OtClass_ARGS) {
236 MK_STRN X = 0;
239 SQ3_FILE retVal = Sq3FileDatabaseObject (X);
240 if (retVal == NULL) {
241 OT_ERROR_CONSTRUCTOR(Sq3FileC);
242 }
243 OT_retObj_SET_FILE(retVal);
244 end: MK_UNUSED /* LONG JUMP on error */
246}
247
249// Sq3FileC_TOR_RB_API
250
251// END-Sq3FileC - created by 'rb_MqC.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
252
253/*****************************************************************************/
254/* */
255/* public */
256/* */
257/*****************************************************************************/
258
259void NS(sMark) (MK_PTR ptr) {
260}
261
262void NS(Sq3FileC_Init) (MK_RT_ARGS_ONLY) {
263
264 // init type
266 S_INIT;
267
268 // BEGIN-CLASS - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
269
270 // doc-key: Sq3FileC,Sq3File,sCc
271 OT_METH_S ( Sq3FileC, DatabaseObject, Sq3FileC_DatabaseObject )
272
273 // doc-key: Sq3FileC,Sq3File,sc_
274 OT_METH_O ( Sq3FileC, GetNull, Sq3FileC_GetNull )
275 OT_METH_S ( Sq3FileC, GetNull, Sq3FileC_GetNull )
276 OT_METH_O ( Sq3FileC, HandleResolve, Sq3FileC_HandleResolve )
277 OT_METH_S ( Sq3FileC, HandleResolve, Sq3FileC_HandleResolve )
278 OT_METH_O ( Sq3FileC, Instances, Sq3FileC_Instances )
279 OT_METH_S ( Sq3FileC, Instances, Sq3FileC_Instances )
280
281 // END-CLASS - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
282
283 // BEGIN-OBJ - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
284
285 // doc-key: Sq3FileC,Sq3File,oc_
286 OT_METH_O ( Sq3FileC, Next, Sq3FileC_Next )
287 OT_METH_O ( Sq3FileC, Prev, Sq3FileC_Prev )
288
289 // doc-key: Sq3FileC,Sq3File,om_
290 // skip class-overload: Sq3FileHandleGet → HandleGet, Sq3FileC_HandleGet
291
292 // END-OBJ - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
293
294}
#define MK(n)
#define OT_SETUP_NOARG(d)
#define OT_SETUP_ONEARG(d)
#define OT_ERROR_LNG_RETURN
#define PTR2VAL(nat)
#define OT_METH_S(c, s, f)
#define MK_BASE_CLASS
#define OT_CLS_T
#define OT_CHECK_REQUIRED(val)
#define OT_METH_O(c, s, f)
#define INCR_REF(valP)
#define OT_OBJ_T
#define OT_retObj_RETURN
#define OT_OBJECT_DELETE_HARD(obj)
#define OT_ERROR_CONSTRUCTOR(clazz)
#define VAL2PTR(val)
#define OT_CHECK_NOARGS
#define OT_ProcRet
#define OtClass_ARGS
#define OT_CHECK_STRN(val)
LibSq3Lite_private_rb.h - 17 Apr 2025 - aotto1968.
#define SQ3(n)
#define OT_PKG
#define Sq3FileC_MK_NULL
#define NS(n)
#define OT_retObj_SET_FILE(nat)
#define Sq3FileC_ARGS
#define Instances_doc
#define DatabaseObject_doc
#define OT_SETUP_hdl_static_constr
Definition Sq3FileC_rb.c:98
static MK_TYP Sq3FileCTT
Definition Sq3FileC_rb.c:25
#define OT_SETUP_hdl
Definition Sq3FileC_rb.c:90
#define GetNull_doc
#define Next_doc
#define HandleResolve_doc
#define Prev_doc
#define OT_CLASS
Definition Sq3FileC_rb.c:17
#define OT_SETUP_hdl_static
Definition Sq3FileC_rb.c:96
#define S_INIT
Definition Sq3FileC_rb.c:72
#define mk_inline
#define MK_UNUSED
#define MK_NULL
#define MK_DEPRECATED
MK_PTRB * MK_PTR
const MK_STRB * MK_STRN
MK_PTRB * MK_MNG
int32_t MK_HDL
#define MK_RT_ARGS
#define MK_RT_ARGS_ONLY
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 …
__thread MK_TYP Sq3FileC_TT
class as MkTypeDefS-class-type …
#define Sq3FileC_T
class as MkTypeDefS-class-type (cast from Sq3FileC_TT into MkTypeS) …
static SQ3_FILE Sq3FileDatabaseObject(MK_STRN X)
Database File Corresponding To A Journal …
#define OT_CHECK_NIH(val)
MkSelfUnlinkF selfUnlink
MkSelfDeleteF selfDelete
MkSelfCreateF selfCreate
Struct to represent the data of the Sq3FileC …