theSq3Lite 10.0
Loading...
Searching...
No Matches
Sq3FileC_rb.c
Go to the documentation of this file.
1
9/* LABEL-START */
10#define META_FILE_NAME "Sq3FileC_rb.c"
11
13
14#define OT_CLASS NS(Sq3FileC)
15#define OT_CLASS_NAME "Sq3FileC"
16
17#define OT_LNG2META(O) Sq3File(VAL2MNG(O))
18
20
21// new Class type object
22static MK_TYP Sq3FileCTT = NULL;
24
25// GS marker in "Data_Wrap_Struct"
26static void NS(sMark) (MK_PTR);
27
28// ruby datatype of the wrapped struct
29static rb_data_type_t NS(Sq3FileC_T) = {
30 "Sq3FileC",
31 {
32 NS(sMark),
33 MK(AtomDeleteSoft),
34 0, /* dsize */
35 0, /* reserved[1] */
36 },
37 NULL, /* parent */
38 NULL, /* data */
39 RUBY_TYPED_FREE_IMMEDIATELY
40};
41
42// >>THIS<< is a Phase-1-CONSTRUCTOR: a constructor which create the SELF object
43// A Phase-2-CONSTRUCTOR is a constructor which configure an already existing object
44// DO: create a new SELF and link this SELF with the MQ-Object "mng"
45// clazz is the toplevel "subclass" or "Sq3FileC"
46mk_inline OT_OBJ_T NS(LNG_CONSTR) (OT_CLS_T clazz, MK_MNG mng, int objc, VALUE* objv) {
47 return MK(AtomObjCrt)(clazz,&NS(Sq3FileC_T),mng,objc,objv);
48}
49// MQ: ObjNew feature: called to return a new or an already existing RUBY-SELF-Object
50// -> moved to: msgque_rb.h
51// OT_OBJ_T NS(Sq3FileC_ObjNew) (MK_FILE hdl) {
52// return MK(AtomObjNew) (Sq3FileC_X2obj(hdl));
53// }
54// MQ: ObjNew feature: selfCreate will be called from "ObjNew->MkSelfNew" if MkObj need a SELF pointer
55static MK_PTR NS(Sq3FileC_selfCreate) (MK_RT_ARGS MK_OBJ obj, MK_PTR envP) {
56 OT_OBJ_T self = NS(LNG_CONSTR) (OT_CLASS, obj, 0, NULL);
57 return VAL2PTR(self);
58}
59// MQ: called on instance-destruction for a "selfCreate" instance → goal: destroy the SELF
60static void NS(Sq3FileC_selfDelete) (MK_RT_ARGS MK_PTR ptr, MK_PTR envP) {
62}
63// MQ: called to destroy link from SELF to META
64static void NS(Sq3FileC_selfUnlink) (MK_RT_ARGS MK_PTR ptr, MK_PTR envP) {
65 OT_OBJ_T self = PTR2VAL(ptr);
66 RDATA(self)->data = NULL;
67}
68// initialize the RUBY and MO class specific object
69#define S_INIT NS(sInit)(MK_RT_CALL_ONLY)
70static void NS(sInit)(MK_RT_ARGS_ONLY) {
71
72 // add "selfCreate" and "selfDelete" feature to the MQ-Sq3FileC-Type
73 Sq3FileCTT->selfCreate = NS(Sq3FileC_selfCreate);
74 Sq3FileCTT->selfDelete = NS(Sq3FileC_selfDelete);
75 Sq3FileCTT->selfUnlink = NS(Sq3FileC_selfUnlink);
76
77 // create the RUBY class
78 OT_CLASS = rb_define_class_under(OT_PKG, "Sq3FileC", MK_BASE_CLASS);
79 rb_undef_alloc_func(OT_CLASS);
80
81 /* define the "NULL" object */
82 VALUE nullO = TypedData_Wrap_Struct (OT_CLASS, &NS(Sq3FileC_T), MK_NULL);
83 NS(Sq3FileC_MK_NULL) = nullO;
85}
86
87#define OT_SETUP_hdl OT_SETUP_hdl_tmpl(Sq3FileC);
88#define OT_SETUP_hdl__null_allow OT_SETUP_hdl_tmpl__null_allow(Sq3FileC);
89#define OT_SETUP_hdl_constr AllRtSetup_NULL; \
90 OT_OBJ_T clazz = self; \
91 Sq3FileC_type hdl = (Sq3FileC_type) &MkERROR;
92#define OT_SETUP_hdl_destr OT_SETUP_hdl_tmpl__null_allow(Sq3FileC);
93#define OT_SETUP_hdl_static AllRtSetup_NULL; \
94 __attribute__((unused)) MK_TYP hdl = Sq3FileC##_TT;
95#define OT_SETUP_hdl_static_constr OT_SETUP_hdl_static
96
97#if !defined(SetupRtFromObj_X)
98 #define SetupRtFromObj_X(hdl) AllRtSetup_X(hdl)
99 #define SetupRtFromObj_XN(hdl) AllRtSetup_XN(hdl)
100#endif
101
102/* LABEL-END */
103
104// BEGIN-DOC - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
105
106// doc-key: Sq3FileC,Sq3File,sCc,func
107#define DatabaseObject_doc "Sq3FileC Sq3FileC.DatabaseObject(X:string)"
108
109// doc-key: Sq3FileC,Sq3File,sc_,func
110#define GetNull_doc "Sq3FileC Sq3FileC.GetNull()"
111#define HandleResolve_doc "Sq3FileC Sq3FileC.HandleResolve(netHdl:MK_HDL)"
112#define Instances_doc "Sq3FileC Sq3FileC.Instances()"
113
114// doc-key: Sq3FileC,Sq3File,oc_,func
115#define Next_doc "Sq3FileC file.Next()"
116#define Prev_doc "Sq3FileC file.Prev()"
117
118// doc-key: Sq3FileC,Sq3File,om_,func
119// skip class-overload: HandleGet → MkObjectHandleGet
120
121// END-DOC - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
122
123/*****************************************************************************/
124/* */
125/* O B J E C T */
126/* */
127/*****************************************************************************/
128
129// BEGIN-Sq3FileC - created by 'rb_MqC.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
130
134
135// doc-key: Sq3FileC,Sq3FileC-Class-Export,sc_
136
138static OT_ProcRet NS(Sq3FileC_HandleResolve) (OtClass_ARGS) {
141 MK_HDL netHdl = 0;
144 SQ3_FILE retVal = Sq3FileHandleResolve (netHdl);
145 OT_retObj_SET_FILE(retVal);
146 end: MK_UNUSED /* LONG JUMP on error */
148}
149
150// doc-key: Sq3FileC,Sq3FileC-Class-Export,om_
151
152// skip on class-overload: Sq3FileHandleGet → MkObjectHandleGet
154static OT_ProcRet NS(Sq3FileC_HandleGet) (Sq3FileC_ARGS) {OT_ERROR_LNG_RETURN;}
155
157// Sq3FileC_Class_RB_API
158
162
163// doc-key: Sq3FileC,Sq3FileC-Class-Introspection,oc_
164
166static OT_ProcRet NS(Sq3FileC_Next) (Sq3FileC_ARGS) {
170 SQ3_FILE retVal = Sq3FileNext (hdl);
171 OT_retObj_SET_FILE(retVal);
172 end: MK_UNUSED /* LONG JUMP on error */
174}
175
177static OT_ProcRet NS(Sq3FileC_Prev) (Sq3FileC_ARGS) {
181 SQ3_FILE retVal = Sq3FilePrev (hdl);
182 OT_retObj_SET_FILE(retVal);
183 end: MK_UNUSED /* LONG JUMP on error */
185}
186
187// doc-key: Sq3FileC,Sq3FileC-Class-Introspection,sc_
188
190static OT_ProcRet NS(Sq3FileC_Instances) (OtClass_ARGS) {
194 SQ3_FILE retVal = Sq3FileInstances ();
195 OT_retObj_SET_FILE(retVal);
196 end: MK_UNUSED /* LONG JUMP on error */
198}
199
201// Sq3FileC_Class_RB_API
202
206
207// doc-key: Sq3FileC,Sq3FileC-Class-Misc,sc_
208
210static OT_ProcRet NS(Sq3FileC_GetNull) (OtClass_ARGS) {
214 SQ3_FILE retVal = Sq3FileGetNull ();
215 OT_retObj_SET_FILE(retVal);
216 end: MK_UNUSED /* LONG JUMP on error */
218}
219
221// Sq3FileC_Class_RB_API
222
226
227// doc-key: Sq3FileC,Sq3FileC-TOR,sCc
228
230static OT_ProcRet NS(Sq3FileC_DatabaseObject) (OtClass_ARGS) {
233 MK_STRN X = 0;
236 SQ3_FILE retVal = Sq3FileDatabaseObject (X);
237 if (retVal == NULL) {
238 OT_ERROR_CONSTRUCTOR(Sq3FileC);
239 }
240 OT_retObj_SET_FILE(retVal);
241 end: MK_UNUSED /* LONG JUMP on error */
243}
244
246// Sq3FileC_TOR_RB_API
247
248// END-Sq3FileC - created by 'rb_MqC.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
249
250/*****************************************************************************/
251/* */
252/* public */
253/* */
254/*****************************************************************************/
255
256void NS(sMark) (MK_PTR ptr) {
257}
258
259void NS(Sq3FileC_Init) (MK_RT_ARGS_ONLY) {
260
261 // init type
263 S_INIT;
264
265 // BEGIN-CLASS - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
266
267 // doc-key: Sq3FileC,Sq3File,sCc
268 OT_METH_S ( Sq3FileC, DatabaseObject, Sq3FileC_DatabaseObject )
269
270 // doc-key: Sq3FileC,Sq3File,sc_
271 OT_METH_O ( Sq3FileC, GetNull, Sq3FileC_GetNull )
272 OT_METH_S ( Sq3FileC, GetNull, Sq3FileC_GetNull )
273 OT_METH_O ( Sq3FileC, HandleResolve, Sq3FileC_HandleResolve )
274 OT_METH_S ( Sq3FileC, HandleResolve, Sq3FileC_HandleResolve )
275 OT_METH_O ( Sq3FileC, Instances, Sq3FileC_Instances )
276 OT_METH_S ( Sq3FileC, Instances, Sq3FileC_Instances )
277
278 // END-CLASS - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
279
280 // BEGIN-OBJ - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
281
282 // doc-key: Sq3FileC,Sq3File,oc_
283 OT_METH_O ( Sq3FileC, Next, Sq3FileC_Next )
284 OT_METH_O ( Sq3FileC, Prev, Sq3FileC_Prev )
285
286 // doc-key: Sq3FileC,Sq3File,om_
287 // skip class-overload: Sq3FileHandleGet → HandleGet, Sq3FileC_HandleGet
288
289 // END-OBJ - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
290
291}
#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)
tag: nhi1-release-250425
#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:95
static MK_TYP Sq3FileCTT
Definition Sq3FileC_rb.c:22
#define OT_SETUP_hdl
Definition Sq3FileC_rb.c:87
#define GetNull_doc
#define Next_doc
#define HandleResolve_doc
#define Prev_doc
#define OT_CLASS
Definition Sq3FileC_rb.c:14
#define OT_SETUP_hdl_static
Definition Sq3FileC_rb.c:93
#define S_INIT
Definition Sq3FileC_rb.c:69
#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 …