theSq3Lite 10.0
Loading...
Searching...
No Matches
Sq3FileC_py.c
Go to the documentation of this file.
1
9/* LABEL-START */
10
11#define META_FILE_NAME "Sq3FileC_py.c"
12
14
15// PY class
16#define OT_CLASS (&NS(Sq3FileCR))
17#define OT_CLASS_NAME "Sq3FileC"
18
19#define OT_LNG2META(O) Sq3File(VAL2MNG(O))
20
21#define OT_retObj_CONSTR(mng) OT_retObj_SET(NS(Sq3FileC_CTOR)(MK_RT_CALL (PyTypeObject*)class,mng))
22
23#define OT_SETUP_hdl OT_SETUP_hdl_tmpl(Sq3FileC)
24#define OT_SETUP_hdl__null_allow OT_SETUP_hdl_tmpl__null_allow(Sq3FileC)
25#define OT_SETUP_hdl_constr MK_RT_UNUSED AllRtSetup_NULL; \
26 SQ3_FILE hdl = (SQ3_FILE) OT_CLASS;
27#define OT_SETUP_hdl_destr OT_SETUP_hdl_tmpl__null_allow(Sq3FileC)
28#define OT_SETUP_hdl_static MK_RT_UNUSED AllRtSetup_NULL; \
29 __attribute__((unused)) MK_TYP hdl = Sq3FileC##_TT;
30
31#define OT_SETUP_hdl_static_constr OT_SETUP_hdl_static
32
33#if !defined(SetupRtFromObj_X)
34 #define SetupRtFromObj_X(hdl) AllRtSetup_X(hdl)
35 #define SetupRtFromObj_XN(hdl) AllRtSetup_XN(hdl)
36#endif
37
38// MO class
39#undef Sq3FileCTT
40#define Sq3FileCTT SQ3(Sq3LiteThreadState).Sq3FileCTT
41/* Sq3FileC_MK_NULL defined in LibSq3Lite_py.h */
42
43__attribute__((unused)) mk_inline
44OT_OBJ_T NS(Sq3FileC_CTOR) (MK_RT_ARGS OT_CLS_T type, SQ3_FILE hdl) {
45 return MK(AtomCreate)(MK_RT_CALL type,Sq3FileC_X2obj(hdl));
46}
47
48// helper: mk_dbg_color_ln(MK_COLOR_YELLOW,"hdl<%p>, self<%p>", obj, self);
49
50// META: ObjNew feature: selfCreate will be called from "ObjNew->MkSelfNew" if MkObj need a SELF pointer
51static MK_PTR NS(Sq3FileC_selfCreate) (MK_RT_ARGS MK_OBJ const obj, MK_PTR const env) {
52 return MK(AtomCreate) (MK_RT_CALL OT_CLASS,obj);
53}
54// META: called if MkObj must be destroyed and if the SELF is still alive → goal: destroy the SELF
55static void NS(Sq3FileC_selfDelete) (MK_RT_ARGS MK_PTR self, MK_PTR const env) {
56 MK(AtomDeleteHard) (MK_RT_CALL OT_SELF);
57}
58// META: called to destroy link from SELF to META
59static void NS(Sq3FileC_selfUnlink) (MK_RT_ARGS MK_PTR self, MK_PTR const env) {
60 MkObjectC_Obj *selfO = (MkObjectC_Obj*) self;
61 selfO->hdl = NULL;
62}
63
64// initialize the PY and MO class specific object
65#define ClassInit \
66 /* if not already done, initialize NEW META type */ \
67 if (Sq3FileCTT == NULL) Sq3FileCTT = Sq3FileSTT; \
68 \
69 /* protect against double call */ \
70 if (Sq3FileCTT->selfCreate == NS(Sq3FileC_selfCreate)) return MK_OK; \
71 \
72 /* add "selfCreate" and "selfDelete" feature to the META-Class */ \
73 Sq3FileCTT->selfCreate = NS(Sq3FileC_selfCreate); \
74 Sq3FileCTT->selfDelete = NS(Sq3FileC_selfDelete); \
75 Sq3FileCTT->selfUnlink = NS(Sq3FileC_selfUnlink); \
76 \
77 if (!PyType_HasFeature(OT_CLASS,Py_TPFLAGS_READY)) { \
78 NS(Sq3FileCR).tp_base = Sq3FileC_base; \
79 OtErrorCheckLng (PyType_Ready(OT_CLASS)); \
80 } \
81 OtErrorCheckLng(PyModule_AddObjectRef(m, "Sq3FileC", (PyObject *)OT_CLASS)); \
82 \
83 /* define the "NULL" object */ \
84 Sq3FileC_MK_NULL = Py_NewRef(MK(AtomCreate) (MK_RT_CALL OT_CLASS, NULL /*obj*/));
85
86/* LABEL-END */
87
88#define META_CONTEXT_S MK_ERROR_DEFAULT
89
90// MARK_D
96
97// BEGIN-DOC - created by 'py_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
98
99// doc-key: Sq3FileC,Sq3File,sCc,func
100#define DatabaseObject_doc "Sq3FileC Sq3FileC.DatabaseObject(X:string)"
101
102// doc-key: Sq3FileC,Sq3File,sc_,func
103#define GetNull_doc "Sq3FileC Sq3FileC.GetNull()"
104#define HandleResolve_doc "Sq3FileC Sq3FileC.HandleResolve(netHdl:MK_HDL)"
105#define Instances_doc "Sq3FileC Sq3FileC.Instances()"
106
107// doc-key: Sq3FileC,Sq3File,oc_,func
108#define Next_doc "Sq3FileC file.Next()"
109#define Prev_doc "Sq3FileC file.Prev()"
110
111// doc-key: Sq3FileC,Sq3File,om_,func
112// skip class-overload: HandleGet → MkObjectHandleGet
113
114// END-DOC - created by 'py_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
115
116// MARK_M
122
123// BEGIN-Sq3FileC - created by 'py_MqC.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
124
128
129// doc-key: Sq3FileC,Sq3FileC-Class-Export,sc_
130
132static OT_ProcRet NS(Sq3FileC_HandleResolve) (OtClass_ARGS) {
135 MK_HDL netHdl = 0;
138 SQ3_FILE retVal = Sq3FileHandleResolve (netHdl);
139 OT_retObj_SET_FILE(retVal);
140 goto end;
141 error:
143 end:
145}
146
147// doc-key: Sq3FileC,Sq3FileC-Class-Export,om_
148
149// skip on class-overload: Sq3FileHandleGet → MkObjectHandleGet
151static OT_ProcRet NS(Sq3FileC_HandleGet) (Sq3FileC_ARGS) {OT_ERROR_LNG_RETURN;}
152
154// Sq3FileC_Class_PY_API
155
159
160// doc-key: Sq3FileC,Sq3FileC-Class-Introspection,oc_
161
163static OT_ProcRet NS(Sq3FileC_Next) (Sq3FileC_ARGS) {
167 SQ3_FILE retVal = Sq3FileNext (hdl);
168 OT_retObj_SET_FILE(retVal);
169 goto end;
170 error:
172 end:
174}
175
177static OT_ProcRet NS(Sq3FileC_Prev) (Sq3FileC_ARGS) {
181 SQ3_FILE retVal = Sq3FilePrev (hdl);
182 OT_retObj_SET_FILE(retVal);
183 goto end;
184 error:
186 end:
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 goto end;
200 error:
202 end:
204}
205
207// Sq3FileC_Class_PY_API
208
212
213// doc-key: Sq3FileC,Sq3FileC-Class-Misc,sc_
214
216static OT_ProcRet NS(Sq3FileC_GetNull) (OtClass_ARGS) {
220 SQ3_FILE retVal = Sq3FileGetNull ();
221 OT_retObj_SET_FILE(retVal);
222 goto end;
223 error:
225 end:
227}
228
230// Sq3FileC_Class_PY_API
231
235
236// doc-key: Sq3FileC,Sq3FileC-TOR,sCc
237
239static OT_ProcRet NS(Sq3FileC_DatabaseObject) (OtClass_ARGS) {
242 MK_STRN X = 0;
245 SQ3_FILE retVal = Sq3FileDatabaseObject (X);
246 if (retVal == NULL) {
247 OT_ERROR_CONSTRUCTOR(Sq3FileC);
248 goto error;
249 }
250 OT_retObj_SET_FILE(retVal);
251 goto end;
252 error:
254 end:
256}
257
259// Sq3FileC_TOR_PY_API
260
261// END-Sq3FileC - created by 'py_MqC.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
262
263// MARK_T
269
270static PyMethodDef Sq3FileC_Methods[] = {
271
272 // BEGIN-CLASS - created by 'py_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
273
274 // doc-key: Sq3FileC,Sq3File,sCc
275 { "DatabaseObject" , (PyCFunction) NS(Sq3FileC_DatabaseObject) , METH_O|METH_CLASS , DatabaseObject_doc },
276
277 // doc-key: Sq3FileC,Sq3File,sc_
278 { "GetNull" , (PyCFunction) NS(Sq3FileC_GetNull) , METH_NOARGS|METH_CLASS , GetNull_doc },
279 { "HandleResolve" , (PyCFunction) NS(Sq3FileC_HandleResolve) , METH_O|METH_CLASS , HandleResolve_doc },
280 { "Instances" , (PyCFunction) NS(Sq3FileC_Instances) , METH_NOARGS|METH_CLASS , Instances_doc },
281
282 // END-CLASS - created by 'py_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
283
284 // BEGIN-OBJ - created by 'py_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
285
286 // doc-key: Sq3FileC,Sq3File,oc_
287 { "Next" , (PyCFunction) NS(Sq3FileC_Next) , METH_NOARGS , Next_doc },
288 { "Prev" , (PyCFunction) NS(Sq3FileC_Prev) , METH_NOARGS , Prev_doc },
289
290 // doc-key: Sq3FileC,Sq3File,om_
291 // skip class-overload: Sq3FileHandleGet → HandleGet, NS(Sq3FileC_HandleGet)
292
293 // END-OBJ - created by 'py_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
294
295 {NULL, NULL, 0, NULL} /* Sentinel */
296};
297
303
305 PyVarObject_HEAD_INIT(NULL, 0)
306 .tp_name = "pymsgque.Sq3FileC",
307 .tp_doc = "PyMsgque Sq3FileC Type",
308 .tp_basicsize = sizeof(Sq3FileC_Obj),
309 .tp_itemsize = 0,
310// .tp_new = (newfunc) NS(Sq3FileC_new),
311 .tp_flags = Py_TPFLAGS_DEFAULT,
312 .tp_methods = Sq3FileC_Methods,
313 .tp_base = NULL
314};
315
316int NS(pSq3FileC_Init) ( MK_RT_ARGS PyObject* m)
317{
319
320 return 0;
321error:
322 return -1;
323}
324
325// vim: nowrap
#define OT_SELF
#define MK(n)
#define OT_SETUP_NOARG(d)
#define OT_SETUP_ONEARG(d)
#define OT_ERROR_LNG_RETURN
#define OT_retObj_SET_Error
#define OT_ERROR_CONSTRUCTOR(class)
#define OT_CHECK_REQUIRED(val)
PyTypeObject * OT_CLS_T
#define OT_retObj_RETURN
PyObject * OT_OBJ_T
#define OT_CLASS_TYPE_REF
#define OT_CHECK_NOARGS
#define OT_ProcRet
#define OtClass_ARGS
#define OT_CHECK_STRN(val)
tag: nhi1-release-250425
#define NS(n)
#define OT_retObj_SET_FILE(nat)
#define Sq3FileC_ARGS
struct Sq3FileC_Obj Sq3FileC_Obj
#define Instances_doc
#define DatabaseObject_doc
#define OT_SETUP_hdl_static_constr
Definition Sq3FileC_py.c:31
#define OT_SETUP_hdl
Definition Sq3FileC_py.c:23
#define GetNull_doc
#define Next_doc
#define HandleResolve_doc
#define Prev_doc
#define OT_CLASS
Definition Sq3FileC_py.c:16
#define OT_SETUP_hdl_static
Definition Sq3FileC_py.c:28
#define ClassInit
Definition Sq3FileC_py.c:65
static PyMethodDef Sq3FileC_Methods[]
#define mk_inline
#define MK_UNUSED
#define MK_DEPRECATED
MK_PTRB * MK_PTR
const MK_STRB * MK_STRN
int32_t MK_HDL
#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 …
#define Sq3FileC_X2obj(x)
static SQ3_FILE Sq3FileDatabaseObject(MK_STRN X)
Database File Corresponding To A Journal …
#define OT_CHECK_NIH(val)
PyObject_HEAD MK_OBJ hdl
Struct to represent the data of the Sq3FileC …