1
2 /*
3 * This source code file was generated by the C-code generator gentclAPI.tcl,
4 * part of the Next Scripting Framework.
5 */
6
7 #if defined(USE_NSF_STUBS)
Nsf_ConvertTo_Boolean(Tcl_Interp * interp,Tcl_Obj * objPtr,Nsf_Param const * pPtr,ClientData * clientData,Tcl_Obj ** outObjPtr)8 int Nsf_ConvertTo_Boolean(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param const *pPtr,
9 ClientData *clientData, Tcl_Obj **outObjPtr) {
10 return Nsf_ConvertToBoolean(interp, objPtr, pPtr, clientData, outObjPtr);
11 }
Nsf_ConvertTo_Class(Tcl_Interp * interp,Tcl_Obj * objPtr,Nsf_Param const * pPtr,ClientData * clientData,Tcl_Obj ** outObjPtr)12 int Nsf_ConvertTo_Class(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param const *pPtr,
13 ClientData *clientData, Tcl_Obj **outObjPtr) {
14 return Nsf_ConvertToClass(interp, objPtr, pPtr, clientData, outObjPtr);
15 }
Nsf_ConvertTo_Int32(Tcl_Interp * interp,Tcl_Obj * objPtr,Nsf_Param const * pPtr,ClientData * clientData,Tcl_Obj ** outObjPtr)16 int Nsf_ConvertTo_Int32(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param const *pPtr,
17 ClientData *clientData, Tcl_Obj **outObjPtr) {
18 return Nsf_ConvertToInt32(interp, objPtr, pPtr, clientData, outObjPtr);
19 }
Nsf_ConvertTo_Integer(Tcl_Interp * interp,Tcl_Obj * objPtr,Nsf_Param const * pPtr,ClientData * clientData,Tcl_Obj ** outObjPtr)20 int Nsf_ConvertTo_Integer(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param const *pPtr,
21 ClientData *clientData, Tcl_Obj **outObjPtr) {
22 return Nsf_ConvertToInteger(interp, objPtr, pPtr, clientData, outObjPtr);
23 }
Nsf_ConvertTo_Object(Tcl_Interp * interp,Tcl_Obj * objPtr,Nsf_Param const * pPtr,ClientData * clientData,Tcl_Obj ** outObjPtr)24 int Nsf_ConvertTo_Object(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param const *pPtr,
25 ClientData *clientData, Tcl_Obj **outObjPtr) {
26 return Nsf_ConvertToObject(interp, objPtr, pPtr, clientData, outObjPtr);
27 }
Nsf_ConvertTo_Pointer(Tcl_Interp * interp,Tcl_Obj * objPtr,Nsf_Param const * pPtr,ClientData * clientData,Tcl_Obj ** outObjPtr)28 int Nsf_ConvertTo_Pointer(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param const *pPtr,
29 ClientData *clientData, Tcl_Obj **outObjPtr) {
30 return Nsf_ConvertToPointer(interp, objPtr, pPtr, clientData, outObjPtr);
31 }
Nsf_ConvertTo_String(Tcl_Interp * interp,Tcl_Obj * objPtr,Nsf_Param const * pPtr,ClientData * clientData,Tcl_Obj ** outObjPtr)32 int Nsf_ConvertTo_String(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param const *pPtr,
33 ClientData *clientData, Tcl_Obj **outObjPtr) {
34 return Nsf_ConvertToString(interp, objPtr, pPtr, clientData, outObjPtr);
35 }
Nsf_ConvertTo_Tclobj(Tcl_Interp * interp,Tcl_Obj * objPtr,Nsf_Param const * pPtr,ClientData * clientData,Tcl_Obj ** outObjPtr)36 int Nsf_ConvertTo_Tclobj(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param const *pPtr,
37 ClientData *clientData, Tcl_Obj **outObjPtr) {
38 return Nsf_ConvertToTclobj(interp, objPtr, pPtr, clientData, outObjPtr);
39 }
40 #else
41 # define Nsf_ConvertTo_Boolean Nsf_ConvertToBoolean
42 # define Nsf_ConvertTo_Class Nsf_ConvertToClass
43 # define Nsf_ConvertTo_Int32 Nsf_ConvertToInt32
44 # define Nsf_ConvertTo_Integer Nsf_ConvertToInteger
45 # define Nsf_ConvertTo_Object Nsf_ConvertToObject
46 # define Nsf_ConvertTo_Pointer Nsf_ConvertToPointer
47 # define Nsf_ConvertTo_String Nsf_ConvertToString
48 # define Nsf_ConvertTo_Tclobj Nsf_ConvertToTclobj
49 #endif
50
51
52 #if !defined(likely)
53 # if defined(__GNUC__) && __GNUC__ > 2
54 /* Use gcc branch prediction hint to minimize cost of e.g. DTrace
55 * ENABLED checks.
56 */
57 # define unlikely(x) (__builtin_expect((x), 0))
58 # define likely(x) (__builtin_expect((x), 1))
59 # else
60 # define unlikely(x) (x)
61 # define likely(x) (x)
62 # endif
63 #endif
64
65
66
67 typedef enum {GridfilesourceNULL, GridfilesourceFileIdx, GridfilesourceStringIdx} GridfilesourceIdx_t;
68
ConvertToGridfilesource(Tcl_Interp * interp,Tcl_Obj * objPtr,Nsf_Param const * pPtr,ClientData * clientData,Tcl_Obj ** outObjPtr)69 static int ConvertToGridfilesource(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param const *pPtr,
70 ClientData *clientData, Tcl_Obj **outObjPtr) {
71 int pos, result;
72 static const char *opts[] = {"file", "string", NULL};
73 (void)pPtr;
74 result = Tcl_GetIndexFromObj(interp, objPtr, opts, "gridfilesource", 0, &pos);
75 *clientData = (ClientData) INT2PTR(pos + 1);
76 *outObjPtr = objPtr;
77 return result;
78 }
79
80
81 static Nsf_EnumeratorConverterEntry enumeratorConverterEntries[] = {
82 {ConvertToGridfilesource, "file|string"},
83 {NULL, NULL}
84 };
85
86
87 /* just to define the symbol */
88 static Nsf_methodDefinition method_definitions[31];
89
90 static const char *method_command_namespace_names[] = {
91 "::mongo"
92 };
93 static int NsfCollectionCloseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
94 NSF_nonnull(2) NSF_nonnull(4);
95 static int NsfCollectionOpenStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
96 NSF_nonnull(2) NSF_nonnull(4);
97 static int NsfMongoCloseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
98 NSF_nonnull(2) NSF_nonnull(4);
99 static int NsfMongoCollectionCountStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
100 NSF_nonnull(2) NSF_nonnull(4);
101 static int NsfMongoCollectionDeleteStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
102 NSF_nonnull(2) NSF_nonnull(4);
103 static int NsfMongoCollectionIndexStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
104 NSF_nonnull(2) NSF_nonnull(4);
105 static int NsfMongoCollectionInsertStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
106 NSF_nonnull(2) NSF_nonnull(4);
107 static int NsfMongoCollectionQueryStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
108 NSF_nonnull(2) NSF_nonnull(4);
109 static int NsfMongoCollectionStatsStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
110 NSF_nonnull(2) NSF_nonnull(4);
111 static int NsfMongoCollectionUpdateStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
112 NSF_nonnull(2) NSF_nonnull(4);
113 static int NsfMongoConnectStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
114 NSF_nonnull(2) NSF_nonnull(4);
115 static int NsfMongoCursorAggregateStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
116 NSF_nonnull(2) NSF_nonnull(4);
117 static int NsfMongoCursorCloseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
118 NSF_nonnull(2) NSF_nonnull(4);
119 static int NsfMongoCursorFindStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
120 NSF_nonnull(2) NSF_nonnull(4);
121 static int NsfMongoCursorNextStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
122 NSF_nonnull(2) NSF_nonnull(4);
123 static int NsfMongoGridFSCloseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
124 NSF_nonnull(2) NSF_nonnull(4);
125 static int NsfMongoGridFSOpenStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
126 NSF_nonnull(2) NSF_nonnull(4);
127 static int NsfMongoGridFileCloseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
128 NSF_nonnull(2) NSF_nonnull(4);
129 static int NsfMongoGridFileCreateStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
130 NSF_nonnull(2) NSF_nonnull(4);
131 static int NsfMongoGridFileDeleteStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
132 NSF_nonnull(2) NSF_nonnull(4);
133 static int NsfMongoGridFileGetContentTypeStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
134 NSF_nonnull(2) NSF_nonnull(4);
135 static int NsfMongoGridFileGetContentlengthStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
136 NSF_nonnull(2) NSF_nonnull(4);
137 static int NsfMongoGridFileGetMetaDataStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
138 NSF_nonnull(2) NSF_nonnull(4);
139 static int NsfMongoGridFileOpenStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
140 NSF_nonnull(2) NSF_nonnull(4);
141 static int NsfMongoGridFileReadStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
142 NSF_nonnull(2) NSF_nonnull(4);
143 static int NsfMongoGridFileSeekStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
144 NSF_nonnull(2) NSF_nonnull(4);
145 static int NsfMongoJsonGenerateStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
146 NSF_nonnull(2) NSF_nonnull(4);
147 static int NsfMongoJsonParseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
148 NSF_nonnull(2) NSF_nonnull(4);
149 static int NsfMongoRunCmdStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
150 NSF_nonnull(2) NSF_nonnull(4);
151 static int NsfMongoStatusStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv)
152 NSF_nonnull(2) NSF_nonnull(4);
153
154 static int NsfCollectionClose(Tcl_Interp *interp, mongoc_collection_t *collectionPtr, Tcl_Obj *collectionObj)
155 NSF_nonnull(1) NSF_nonnull(2);
156 static int NsfCollectionOpen(Tcl_Interp *interp, mongoc_client_t *connPtr, const char *dbname, const char *collectionname)
157 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3) NSF_nonnull(4);
158 static int NsfMongoClose(Tcl_Interp *interp, mongoc_client_t *connPtr, Tcl_Obj *connObj)
159 NSF_nonnull(1) NSF_nonnull(2);
160 static int NsfMongoCollectionCount(Tcl_Interp *interp, mongoc_collection_t *collectionPtr, Tcl_Obj *queryObj)
161 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
162 static int NsfMongoCollectionDelete(Tcl_Interp *interp, mongoc_collection_t *collectionPtr, Tcl_Obj *conditionObj)
163 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
164 static int NsfMongoCollectionIndex(Tcl_Interp *interp, mongoc_collection_t *collectionPtr, Tcl_Obj *attributesObj, const char *withName, int withBackground, int withDropdups, int withSparse, int withTtl, int withUnique)
165 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
166 static int NsfMongoCollectionInsert(Tcl_Interp *interp, mongoc_collection_t *collectionPtr, Tcl_Obj *valuesObj)
167 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
168 static int NsfMongoCollectionQuery(Tcl_Interp *interp, mongoc_collection_t *collectionPtr, Tcl_Obj *filterObj, Tcl_Obj *optsObj)
169 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
170 static int NsfMongoCollectionStats(Tcl_Interp *interp, mongoc_collection_t *collectionPtr, Tcl_Obj *optionsObj)
171 NSF_nonnull(1) NSF_nonnull(2);
172 static int NsfMongoCollectionUpdate(Tcl_Interp *interp, mongoc_collection_t *collectionPtr, Tcl_Obj *condObj, Tcl_Obj *valuesObj, int withUpsert, int withAll)
173 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3) NSF_nonnull(4);
174 static int NsfMongoConnect(Tcl_Interp *interp, const char *withUri)
175 NSF_nonnull(1);
176 static int NsfMongoCursorAggregate(Tcl_Interp *interp, mongoc_collection_t *collectionPtr, Tcl_Obj *pipelineObj, Tcl_Obj *optionsObj, int withTailable, int withAwaitdata)
177 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3) NSF_nonnull(4);
178 static int NsfMongoCursorClose(Tcl_Interp *interp, mongoc_cursor_t *cursorPtr, Tcl_Obj *cursorObj)
179 NSF_nonnull(1) NSF_nonnull(2);
180 static int NsfMongoCursorFind(Tcl_Interp *interp, mongoc_collection_t *collectionPtr, Tcl_Obj *filterObj, Tcl_Obj *optsObj)
181 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
182 static int NsfMongoCursorNext(Tcl_Interp *interp, mongoc_cursor_t *cursorPtr)
183 NSF_nonnull(1) NSF_nonnull(2);
184 static int NsfMongoGridFSClose(Tcl_Interp *interp, mongoc_gridfs_t *gfsPtr, Tcl_Obj *gfsObj)
185 NSF_nonnull(1) NSF_nonnull(2);
186 static int NsfMongoGridFSOpen(Tcl_Interp *interp, mongoc_client_t *connPtr, const char *dbname, const char *prefix)
187 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3) NSF_nonnull(4);
188 static int NsfMongoGridFileClose(Tcl_Interp *interp, mongoc_gridfs_file_t *gridfilePtr, Tcl_Obj *gridfileObj)
189 NSF_nonnull(1) NSF_nonnull(2);
190 static int NsfMongoGridFileCreate(Tcl_Interp *interp, GridfilesourceIdx_t withSource, mongoc_gridfs_t *gfsPtr, const char *value, const char *name, const char *contenttype, Tcl_Obj *metadataObj)
191 NSF_nonnull(1) NSF_nonnull(3) NSF_nonnull(4) NSF_nonnull(5) NSF_nonnull(6);
192 static int NsfMongoGridFileDelete(Tcl_Interp *interp, mongoc_gridfs_t *gfsPtr, Tcl_Obj *queryObj)
193 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
194 static int NsfMongoGridFileGetContentType(Tcl_Interp *interp, mongoc_gridfs_file_t *gridfilePtr)
195 NSF_nonnull(1) NSF_nonnull(2);
196 static int NsfMongoGridFileGetContentlength(Tcl_Interp *interp, mongoc_gridfs_file_t *gridfilePtr)
197 NSF_nonnull(1) NSF_nonnull(2);
198 static int NsfMongoGridFileGetMetaData(Tcl_Interp *interp, mongoc_gridfs_file_t *gridfilePtr)
199 NSF_nonnull(1) NSF_nonnull(2);
200 static int NsfMongoGridFileOpen(Tcl_Interp *interp, mongoc_gridfs_t *gfsPtr, Tcl_Obj *queryObj)
201 NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3);
202 static int NsfMongoGridFileRead(Tcl_Interp *interp, mongoc_gridfs_file_t *gridfilePtr, int size)
203 NSF_nonnull(1) NSF_nonnull(2);
204 static int NsfMongoGridFileSeek(Tcl_Interp *interp, mongoc_gridfs_file_t *gridfilePtr, int offset)
205 NSF_nonnull(1) NSF_nonnull(2);
206 static int NsfMongoJsonGenerate(Tcl_Interp *interp, Tcl_Obj *listObj)
207 NSF_nonnull(1) NSF_nonnull(2);
208 static int NsfMongoJsonParse(Tcl_Interp *interp, Tcl_Obj *jsonObj)
209 NSF_nonnull(1) NSF_nonnull(2);
210 static int NsfMongoRunCmd(Tcl_Interp *interp, int withNocomplain, mongoc_client_t *connPtr, const char *db, Tcl_Obj *cmdObj)
211 NSF_nonnull(1) NSF_nonnull(3) NSF_nonnull(4) NSF_nonnull(5);
212 static int NsfMongoStatus(Tcl_Interp *interp, mongoc_client_t *connPtr, Tcl_Obj *connObj)
213 NSF_nonnull(1) NSF_nonnull(2);
214
215 enum {
216 NsfCollectionCloseIdx,
217 NsfCollectionOpenIdx,
218 NsfMongoCloseIdx,
219 NsfMongoCollectionCountIdx,
220 NsfMongoCollectionDeleteIdx,
221 NsfMongoCollectionIndexIdx,
222 NsfMongoCollectionInsertIdx,
223 NsfMongoCollectionQueryIdx,
224 NsfMongoCollectionStatsIdx,
225 NsfMongoCollectionUpdateIdx,
226 NsfMongoConnectIdx,
227 NsfMongoCursorAggregateIdx,
228 NsfMongoCursorCloseIdx,
229 NsfMongoCursorFindIdx,
230 NsfMongoCursorNextIdx,
231 NsfMongoGridFSCloseIdx,
232 NsfMongoGridFSOpenIdx,
233 NsfMongoGridFileCloseIdx,
234 NsfMongoGridFileCreateIdx,
235 NsfMongoGridFileDeleteIdx,
236 NsfMongoGridFileGetContentTypeIdx,
237 NsfMongoGridFileGetContentlengthIdx,
238 NsfMongoGridFileGetMetaDataIdx,
239 NsfMongoGridFileOpenIdx,
240 NsfMongoGridFileReadIdx,
241 NsfMongoGridFileSeekIdx,
242 NsfMongoJsonGenerateIdx,
243 NsfMongoJsonParseIdx,
244 NsfMongoRunCmdIdx,
245 NsfMongoStatusIdx
246 } NsfMethods;
247
248
249 static int
NsfCollectionCloseStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)250 NsfCollectionCloseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
251 ParseContext pc;
252 (void)clientData;
253
254 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
255 method_definitions[NsfCollectionCloseIdx].paramDefs,
256 method_definitions[NsfCollectionCloseIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
257 &pc) == TCL_OK)) {
258 mongoc_collection_t *collectionPtr = (mongoc_collection_t *)pc.clientData[0];
259
260 assert(pc.status == 0);
261 return NsfCollectionClose(interp, collectionPtr,pc.objv[0]);
262
263 } else {
264
265 return TCL_ERROR;
266 }
267 }
268
269 static int
NsfCollectionOpenStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)270 NsfCollectionOpenStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
271 ParseContext pc;
272 (void)clientData;
273
274 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
275 method_definitions[NsfCollectionOpenIdx].paramDefs,
276 method_definitions[NsfCollectionOpenIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
277 &pc) == TCL_OK)) {
278 mongoc_client_t *connPtr = (mongoc_client_t *)pc.clientData[0];
279 const char *dbname = (const char *)pc.clientData[1];
280 const char *collectionname = (const char *)pc.clientData[2];
281
282 assert(pc.status == 0);
283 return NsfCollectionOpen(interp, connPtr, dbname, collectionname);
284
285 } else {
286
287 return TCL_ERROR;
288 }
289 }
290
291 static int
NsfMongoCloseStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)292 NsfMongoCloseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
293 ParseContext pc;
294 (void)clientData;
295
296 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
297 method_definitions[NsfMongoCloseIdx].paramDefs,
298 method_definitions[NsfMongoCloseIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
299 &pc) == TCL_OK)) {
300 mongoc_client_t *connPtr = (mongoc_client_t *)pc.clientData[0];
301
302 assert(pc.status == 0);
303 return NsfMongoClose(interp, connPtr,pc.objv[0]);
304
305 } else {
306
307 return TCL_ERROR;
308 }
309 }
310
311 static int
NsfMongoCollectionCountStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)312 NsfMongoCollectionCountStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
313 ParseContext pc;
314 (void)clientData;
315
316 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
317 method_definitions[NsfMongoCollectionCountIdx].paramDefs,
318 method_definitions[NsfMongoCollectionCountIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
319 &pc) == TCL_OK)) {
320 mongoc_collection_t *collectionPtr = (mongoc_collection_t *)pc.clientData[0];
321 Tcl_Obj *queryObj = (Tcl_Obj *)pc.clientData[1];
322
323 assert(pc.status == 0);
324 return NsfMongoCollectionCount(interp, collectionPtr, queryObj);
325
326 } else {
327
328 return TCL_ERROR;
329 }
330 }
331
332 static int
NsfMongoCollectionDeleteStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)333 NsfMongoCollectionDeleteStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
334 ParseContext pc;
335 (void)clientData;
336
337 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
338 method_definitions[NsfMongoCollectionDeleteIdx].paramDefs,
339 method_definitions[NsfMongoCollectionDeleteIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
340 &pc) == TCL_OK)) {
341 mongoc_collection_t *collectionPtr = (mongoc_collection_t *)pc.clientData[0];
342 Tcl_Obj *conditionObj = (Tcl_Obj *)pc.clientData[1];
343
344 assert(pc.status == 0);
345 return NsfMongoCollectionDelete(interp, collectionPtr, conditionObj);
346
347 } else {
348
349 return TCL_ERROR;
350 }
351 }
352
353 static int
NsfMongoCollectionIndexStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)354 NsfMongoCollectionIndexStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
355 ParseContext pc;
356 (void)clientData;
357
358 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
359 method_definitions[NsfMongoCollectionIndexIdx].paramDefs,
360 method_definitions[NsfMongoCollectionIndexIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
361 &pc) == TCL_OK)) {
362 mongoc_collection_t *collectionPtr = (mongoc_collection_t *)pc.clientData[0];
363 Tcl_Obj *attributesObj = (Tcl_Obj *)pc.clientData[1];
364 const char *withName = (const char *)pc.clientData[2];
365 int withBackground = (int )PTR2INT(pc.clientData[3]);
366 int withDropdups = (int )PTR2INT(pc.clientData[4]);
367 int withSparse = (int )PTR2INT(pc.clientData[5]);
368 int withTtl = (int )PTR2INT(pc.clientData[6]);
369 int withUnique = (int )PTR2INT(pc.clientData[7]);
370
371 assert(pc.status == 0);
372 return NsfMongoCollectionIndex(interp, collectionPtr, attributesObj, withName, withBackground, withDropdups, withSparse, withTtl, withUnique);
373
374 } else {
375
376 return TCL_ERROR;
377 }
378 }
379
380 static int
NsfMongoCollectionInsertStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)381 NsfMongoCollectionInsertStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
382 ParseContext pc;
383 (void)clientData;
384
385 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
386 method_definitions[NsfMongoCollectionInsertIdx].paramDefs,
387 method_definitions[NsfMongoCollectionInsertIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
388 &pc) == TCL_OK)) {
389 mongoc_collection_t *collectionPtr = (mongoc_collection_t *)pc.clientData[0];
390 Tcl_Obj *valuesObj = (Tcl_Obj *)pc.clientData[1];
391
392 assert(pc.status == 0);
393 return NsfMongoCollectionInsert(interp, collectionPtr, valuesObj);
394
395 } else {
396
397 return TCL_ERROR;
398 }
399 }
400
401 static int
NsfMongoCollectionQueryStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)402 NsfMongoCollectionQueryStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
403 ParseContext pc;
404 (void)clientData;
405
406 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
407 method_definitions[NsfMongoCollectionQueryIdx].paramDefs,
408 method_definitions[NsfMongoCollectionQueryIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
409 &pc) == TCL_OK)) {
410 mongoc_collection_t *collectionPtr = (mongoc_collection_t *)pc.clientData[0];
411 Tcl_Obj *filterObj = (Tcl_Obj *)pc.clientData[1];
412 Tcl_Obj *optsObj = (Tcl_Obj *)pc.clientData[2];
413
414 assert(pc.status == 0);
415 return NsfMongoCollectionQuery(interp, collectionPtr, filterObj, optsObj);
416
417 } else {
418
419 return TCL_ERROR;
420 }
421 }
422
423 static int
NsfMongoCollectionStatsStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)424 NsfMongoCollectionStatsStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
425 ParseContext pc;
426 (void)clientData;
427
428 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
429 method_definitions[NsfMongoCollectionStatsIdx].paramDefs,
430 method_definitions[NsfMongoCollectionStatsIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
431 &pc) == TCL_OK)) {
432 mongoc_collection_t *collectionPtr = (mongoc_collection_t *)pc.clientData[0];
433 Tcl_Obj *optionsObj = (Tcl_Obj *)pc.clientData[1];
434
435 assert(pc.status == 0);
436 return NsfMongoCollectionStats(interp, collectionPtr, optionsObj);
437
438 } else {
439
440 return TCL_ERROR;
441 }
442 }
443
444 static int
NsfMongoCollectionUpdateStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)445 NsfMongoCollectionUpdateStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
446 ParseContext pc;
447 (void)clientData;
448
449 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
450 method_definitions[NsfMongoCollectionUpdateIdx].paramDefs,
451 method_definitions[NsfMongoCollectionUpdateIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
452 &pc) == TCL_OK)) {
453 mongoc_collection_t *collectionPtr = (mongoc_collection_t *)pc.clientData[0];
454 Tcl_Obj *condObj = (Tcl_Obj *)pc.clientData[1];
455 Tcl_Obj *valuesObj = (Tcl_Obj *)pc.clientData[2];
456 int withUpsert = (int )PTR2INT(pc.clientData[3]);
457 int withAll = (int )PTR2INT(pc.clientData[4]);
458
459 assert(pc.status == 0);
460 return NsfMongoCollectionUpdate(interp, collectionPtr, condObj, valuesObj, withUpsert, withAll);
461
462 } else {
463
464 return TCL_ERROR;
465 }
466 }
467
468 static int
NsfMongoConnectStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)469 NsfMongoConnectStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
470 ParseContext pc;
471 (void)clientData;
472
473 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
474 method_definitions[NsfMongoConnectIdx].paramDefs,
475 method_definitions[NsfMongoConnectIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
476 &pc) == TCL_OK)) {
477 const char *withUri = (const char *)pc.clientData[0];
478
479 assert(pc.status == 0);
480 return NsfMongoConnect(interp, withUri);
481
482 } else {
483
484 return TCL_ERROR;
485 }
486 }
487
488 static int
NsfMongoCursorAggregateStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)489 NsfMongoCursorAggregateStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
490 ParseContext pc;
491 (void)clientData;
492
493 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
494 method_definitions[NsfMongoCursorAggregateIdx].paramDefs,
495 method_definitions[NsfMongoCursorAggregateIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
496 &pc) == TCL_OK)) {
497 mongoc_collection_t *collectionPtr = (mongoc_collection_t *)pc.clientData[0];
498 Tcl_Obj *pipelineObj = (Tcl_Obj *)pc.clientData[1];
499 Tcl_Obj *optionsObj = (Tcl_Obj *)pc.clientData[2];
500 int withTailable = (int )PTR2INT(pc.clientData[3]);
501 int withAwaitdata = (int )PTR2INT(pc.clientData[4]);
502
503 assert(pc.status == 0);
504 return NsfMongoCursorAggregate(interp, collectionPtr, pipelineObj, optionsObj, withTailable, withAwaitdata);
505
506 } else {
507
508 return TCL_ERROR;
509 }
510 }
511
512 static int
NsfMongoCursorCloseStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)513 NsfMongoCursorCloseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
514 ParseContext pc;
515 (void)clientData;
516
517 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
518 method_definitions[NsfMongoCursorCloseIdx].paramDefs,
519 method_definitions[NsfMongoCursorCloseIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
520 &pc) == TCL_OK)) {
521 mongoc_cursor_t *cursorPtr = (mongoc_cursor_t *)pc.clientData[0];
522
523 assert(pc.status == 0);
524 return NsfMongoCursorClose(interp, cursorPtr,pc.objv[0]);
525
526 } else {
527
528 return TCL_ERROR;
529 }
530 }
531
532 static int
NsfMongoCursorFindStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)533 NsfMongoCursorFindStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
534 ParseContext pc;
535 (void)clientData;
536
537 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
538 method_definitions[NsfMongoCursorFindIdx].paramDefs,
539 method_definitions[NsfMongoCursorFindIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
540 &pc) == TCL_OK)) {
541 mongoc_collection_t *collectionPtr = (mongoc_collection_t *)pc.clientData[0];
542 Tcl_Obj *filterObj = (Tcl_Obj *)pc.clientData[1];
543 Tcl_Obj *optsObj = (Tcl_Obj *)pc.clientData[2];
544
545 assert(pc.status == 0);
546 return NsfMongoCursorFind(interp, collectionPtr, filterObj, optsObj);
547
548 } else {
549
550 return TCL_ERROR;
551 }
552 }
553
554 static int
NsfMongoCursorNextStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)555 NsfMongoCursorNextStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
556 ParseContext pc;
557 (void)clientData;
558
559 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
560 method_definitions[NsfMongoCursorNextIdx].paramDefs,
561 method_definitions[NsfMongoCursorNextIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
562 &pc) == TCL_OK)) {
563 mongoc_cursor_t *cursorPtr = (mongoc_cursor_t *)pc.clientData[0];
564
565 assert(pc.status == 0);
566 return NsfMongoCursorNext(interp, cursorPtr);
567
568 } else {
569
570 return TCL_ERROR;
571 }
572 }
573
574 static int
NsfMongoGridFSCloseStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)575 NsfMongoGridFSCloseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
576 ParseContext pc;
577 (void)clientData;
578
579 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
580 method_definitions[NsfMongoGridFSCloseIdx].paramDefs,
581 method_definitions[NsfMongoGridFSCloseIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
582 &pc) == TCL_OK)) {
583 mongoc_gridfs_t *gfsPtr = (mongoc_gridfs_t *)pc.clientData[0];
584
585 assert(pc.status == 0);
586 return NsfMongoGridFSClose(interp, gfsPtr,pc.objv[0]);
587
588 } else {
589
590 return TCL_ERROR;
591 }
592 }
593
594 static int
NsfMongoGridFSOpenStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)595 NsfMongoGridFSOpenStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
596 ParseContext pc;
597 (void)clientData;
598
599 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
600 method_definitions[NsfMongoGridFSOpenIdx].paramDefs,
601 method_definitions[NsfMongoGridFSOpenIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
602 &pc) == TCL_OK)) {
603 mongoc_client_t *connPtr = (mongoc_client_t *)pc.clientData[0];
604 const char *dbname = (const char *)pc.clientData[1];
605 const char *prefix = (const char *)pc.clientData[2];
606
607 assert(pc.status == 0);
608 return NsfMongoGridFSOpen(interp, connPtr, dbname, prefix);
609
610 } else {
611
612 return TCL_ERROR;
613 }
614 }
615
616 static int
NsfMongoGridFileCloseStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)617 NsfMongoGridFileCloseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
618 ParseContext pc;
619 (void)clientData;
620
621 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
622 method_definitions[NsfMongoGridFileCloseIdx].paramDefs,
623 method_definitions[NsfMongoGridFileCloseIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
624 &pc) == TCL_OK)) {
625 mongoc_gridfs_file_t *gridfilePtr = (mongoc_gridfs_file_t *)pc.clientData[0];
626
627 assert(pc.status == 0);
628 return NsfMongoGridFileClose(interp, gridfilePtr,pc.objv[0]);
629
630 } else {
631
632 return TCL_ERROR;
633 }
634 }
635
636 static int
NsfMongoGridFileCreateStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)637 NsfMongoGridFileCreateStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
638 ParseContext pc;
639 (void)clientData;
640
641 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
642 method_definitions[NsfMongoGridFileCreateIdx].paramDefs,
643 method_definitions[NsfMongoGridFileCreateIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
644 &pc) == TCL_OK)) {
645 GridfilesourceIdx_t withSource = (GridfilesourceIdx_t )pc.clientData[0];
646 mongoc_gridfs_t *gfsPtr = (mongoc_gridfs_t *)pc.clientData[1];
647 const char *value = (const char *)pc.clientData[2];
648 const char *name = (const char *)pc.clientData[3];
649 const char *contenttype = (const char *)pc.clientData[4];
650 Tcl_Obj *metadataObj = (Tcl_Obj *)pc.clientData[5];
651
652 assert(pc.status == 0);
653 return NsfMongoGridFileCreate(interp, withSource, gfsPtr, value, name, contenttype, metadataObj);
654
655 } else {
656
657 return TCL_ERROR;
658 }
659 }
660
661 static int
NsfMongoGridFileDeleteStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)662 NsfMongoGridFileDeleteStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
663 ParseContext pc;
664 (void)clientData;
665
666 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
667 method_definitions[NsfMongoGridFileDeleteIdx].paramDefs,
668 method_definitions[NsfMongoGridFileDeleteIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
669 &pc) == TCL_OK)) {
670 mongoc_gridfs_t *gfsPtr = (mongoc_gridfs_t *)pc.clientData[0];
671 Tcl_Obj *queryObj = (Tcl_Obj *)pc.clientData[1];
672
673 assert(pc.status == 0);
674 return NsfMongoGridFileDelete(interp, gfsPtr, queryObj);
675
676 } else {
677
678 return TCL_ERROR;
679 }
680 }
681
682 static int
NsfMongoGridFileGetContentTypeStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)683 NsfMongoGridFileGetContentTypeStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
684 ParseContext pc;
685 (void)clientData;
686
687 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
688 method_definitions[NsfMongoGridFileGetContentTypeIdx].paramDefs,
689 method_definitions[NsfMongoGridFileGetContentTypeIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
690 &pc) == TCL_OK)) {
691 mongoc_gridfs_file_t *gridfilePtr = (mongoc_gridfs_file_t *)pc.clientData[0];
692
693 assert(pc.status == 0);
694 return NsfMongoGridFileGetContentType(interp, gridfilePtr);
695
696 } else {
697
698 return TCL_ERROR;
699 }
700 }
701
702 static int
NsfMongoGridFileGetContentlengthStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)703 NsfMongoGridFileGetContentlengthStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
704 ParseContext pc;
705 (void)clientData;
706
707 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
708 method_definitions[NsfMongoGridFileGetContentlengthIdx].paramDefs,
709 method_definitions[NsfMongoGridFileGetContentlengthIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
710 &pc) == TCL_OK)) {
711 mongoc_gridfs_file_t *gridfilePtr = (mongoc_gridfs_file_t *)pc.clientData[0];
712
713 assert(pc.status == 0);
714 return NsfMongoGridFileGetContentlength(interp, gridfilePtr);
715
716 } else {
717
718 return TCL_ERROR;
719 }
720 }
721
722 static int
NsfMongoGridFileGetMetaDataStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)723 NsfMongoGridFileGetMetaDataStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
724 ParseContext pc;
725 (void)clientData;
726
727 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
728 method_definitions[NsfMongoGridFileGetMetaDataIdx].paramDefs,
729 method_definitions[NsfMongoGridFileGetMetaDataIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
730 &pc) == TCL_OK)) {
731 mongoc_gridfs_file_t *gridfilePtr = (mongoc_gridfs_file_t *)pc.clientData[0];
732
733 assert(pc.status == 0);
734 return NsfMongoGridFileGetMetaData(interp, gridfilePtr);
735
736 } else {
737
738 return TCL_ERROR;
739 }
740 }
741
742 static int
NsfMongoGridFileOpenStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)743 NsfMongoGridFileOpenStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
744 ParseContext pc;
745 (void)clientData;
746
747 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
748 method_definitions[NsfMongoGridFileOpenIdx].paramDefs,
749 method_definitions[NsfMongoGridFileOpenIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
750 &pc) == TCL_OK)) {
751 mongoc_gridfs_t *gfsPtr = (mongoc_gridfs_t *)pc.clientData[0];
752 Tcl_Obj *queryObj = (Tcl_Obj *)pc.clientData[1];
753
754 assert(pc.status == 0);
755 return NsfMongoGridFileOpen(interp, gfsPtr, queryObj);
756
757 } else {
758
759 return TCL_ERROR;
760 }
761 }
762
763 static int
NsfMongoGridFileReadStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)764 NsfMongoGridFileReadStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
765 ParseContext pc;
766 (void)clientData;
767
768 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
769 method_definitions[NsfMongoGridFileReadIdx].paramDefs,
770 method_definitions[NsfMongoGridFileReadIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
771 &pc) == TCL_OK)) {
772 mongoc_gridfs_file_t *gridfilePtr = (mongoc_gridfs_file_t *)pc.clientData[0];
773 int size = (int )PTR2INT(pc.clientData[1]);
774
775 assert(pc.status == 0);
776 return NsfMongoGridFileRead(interp, gridfilePtr, size);
777
778 } else {
779
780 return TCL_ERROR;
781 }
782 }
783
784 static int
NsfMongoGridFileSeekStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)785 NsfMongoGridFileSeekStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
786 ParseContext pc;
787 (void)clientData;
788
789 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
790 method_definitions[NsfMongoGridFileSeekIdx].paramDefs,
791 method_definitions[NsfMongoGridFileSeekIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
792 &pc) == TCL_OK)) {
793 mongoc_gridfs_file_t *gridfilePtr = (mongoc_gridfs_file_t *)pc.clientData[0];
794 int offset = (int )PTR2INT(pc.clientData[1]);
795
796 assert(pc.status == 0);
797 return NsfMongoGridFileSeek(interp, gridfilePtr, offset);
798
799 } else {
800
801 return TCL_ERROR;
802 }
803 }
804
805 static int
NsfMongoJsonGenerateStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)806 NsfMongoJsonGenerateStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
807 (void)clientData;
808
809
810
811 if (objc != 2) {
812 return NsfArgumentError(interp, "wrong # of arguments:",
813 method_definitions[NsfMongoJsonGenerateIdx].paramDefs,
814 NULL, objv[0]);
815 }
816
817 return NsfMongoJsonGenerate(interp, objv[1]);
818
819 }
820
821 static int
NsfMongoJsonParseStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)822 NsfMongoJsonParseStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
823 (void)clientData;
824
825
826
827 if (objc != 2) {
828 return NsfArgumentError(interp, "wrong # of arguments:",
829 method_definitions[NsfMongoJsonParseIdx].paramDefs,
830 NULL, objv[0]);
831 }
832
833 return NsfMongoJsonParse(interp, objv[1]);
834
835 }
836
837 static int
NsfMongoRunCmdStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)838 NsfMongoRunCmdStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
839 ParseContext pc;
840 (void)clientData;
841
842 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
843 method_definitions[NsfMongoRunCmdIdx].paramDefs,
844 method_definitions[NsfMongoRunCmdIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
845 &pc) == TCL_OK)) {
846 int withNocomplain = (int )PTR2INT(pc.clientData[0]);
847 mongoc_client_t *connPtr = (mongoc_client_t *)pc.clientData[1];
848 const char *db = (const char *)pc.clientData[2];
849 Tcl_Obj *cmdObj = (Tcl_Obj *)pc.clientData[3];
850
851 assert(pc.status == 0);
852 return NsfMongoRunCmd(interp, withNocomplain, connPtr, db, cmdObj);
853
854 } else {
855
856 return TCL_ERROR;
857 }
858 }
859
860 static int
NsfMongoStatusStub(ClientData clientData,Tcl_Interp * interp,int objc,Tcl_Obj * const * objv)861 NsfMongoStatusStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) {
862 ParseContext pc;
863 (void)clientData;
864
865 if (likely(ArgumentParse(interp, objc, objv, NULL, objv[0],
866 method_definitions[NsfMongoStatusIdx].paramDefs,
867 method_definitions[NsfMongoStatusIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN,
868 &pc) == TCL_OK)) {
869 mongoc_client_t *connPtr = (mongoc_client_t *)pc.clientData[0];
870
871 assert(pc.status == 0);
872 return NsfMongoStatus(interp, connPtr,pc.objv[0]);
873
874 } else {
875
876 return TCL_ERROR;
877 }
878 }
879
880 static Nsf_methodDefinition method_definitions[31] = {
881 {"::mongo::collection::close", NsfCollectionCloseStub, 1, {
882 {"collection", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_collection_t",NULL,NULL,NULL,NULL,NULL}}
883 },
884 {"::mongo::collection::open", NsfCollectionOpenStub, 3, {
885 {"conn", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_client_t",NULL,NULL,NULL,NULL,NULL},
886 {"dbname", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
887 {"collectionname", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
888 },
889 {"::mongo::close", NsfMongoCloseStub, 1, {
890 {"conn", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_client_t",NULL,NULL,NULL,NULL,NULL}}
891 },
892 {"::mongo::collection::count", NsfMongoCollectionCountStub, 2, {
893 {"collection", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_collection_t",NULL,NULL,NULL,NULL,NULL},
894 {"query", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
895 },
896 {"::mongo::collection::delete", NsfMongoCollectionDeleteStub, 2, {
897 {"collection", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_collection_t",NULL,NULL,NULL,NULL,NULL},
898 {"condition", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
899 },
900 {"::mongo::collection::index", NsfMongoCollectionIndexStub, 8, {
901 {"collection", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_collection_t",NULL,NULL,NULL,NULL,NULL},
902 {"attributes", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
903 {"-name", 0, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
904 {"-background", 0, 0, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
905 {"-dropdups", 0, 0, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
906 {"-sparse", 0, 0, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
907 {"-ttl", 0, 1, Nsf_ConvertTo_Int32, NULL,NULL,"int32",NULL,NULL,NULL,NULL,NULL},
908 {"-unique", 0, 0, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
909 },
910 {"::mongo::collection::insert", NsfMongoCollectionInsertStub, 2, {
911 {"collection", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_collection_t",NULL,NULL,NULL,NULL,NULL},
912 {"values", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
913 },
914 {"::mongo::collection::query", NsfMongoCollectionQueryStub, 3, {
915 {"collection", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_collection_t",NULL,NULL,NULL,NULL,NULL},
916 {"filter", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
917 {"-opts", 0, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
918 },
919 {"::mongo::collection::stats", NsfMongoCollectionStatsStub, 2, {
920 {"collection", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_collection_t",NULL,NULL,NULL,NULL,NULL},
921 {"-options", 0, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
922 },
923 {"::mongo::collection::update", NsfMongoCollectionUpdateStub, 5, {
924 {"collection", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_collection_t",NULL,NULL,NULL,NULL,NULL},
925 {"cond", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
926 {"values", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
927 {"-upsert", 0, 0, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
928 {"-all", 0, 0, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
929 },
930 {"::mongo::connect", NsfMongoConnectStub, 1, {
931 {"-uri", 0, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
932 },
933 {"::mongo::cursor::aggregate", NsfMongoCursorAggregateStub, 5, {
934 {"collection", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_collection_t",NULL,NULL,NULL,NULL,NULL},
935 {"pipeline", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
936 {"options", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
937 {"-tailable", 0, 0, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
938 {"-awaitdata", 0, 0, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
939 },
940 {"::mongo::cursor::close", NsfMongoCursorCloseStub, 1, {
941 {"cursor", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_cursor_t",NULL,NULL,NULL,NULL,NULL}}
942 },
943 {"::mongo::cursor::find", NsfMongoCursorFindStub, 3, {
944 {"collection", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_collection_t",NULL,NULL,NULL,NULL,NULL},
945 {"filter", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
946 {"-opts", 0, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
947 },
948 {"::mongo::cursor::next", NsfMongoCursorNextStub, 1, {
949 {"cursor", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_cursor_t",NULL,NULL,NULL,NULL,NULL}}
950 },
951 {"::mongo::gridfs::close", NsfMongoGridFSCloseStub, 1, {
952 {"gfs", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_gridfs_t",NULL,NULL,NULL,NULL,NULL}}
953 },
954 {"::mongo::gridfs::open", NsfMongoGridFSOpenStub, 3, {
955 {"conn", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_client_t",NULL,NULL,NULL,NULL,NULL},
956 {"dbname", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
957 {"prefix", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
958 },
959 {"::mongo::gridfile::close", NsfMongoGridFileCloseStub, 1, {
960 {"gridfile", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_gridfs_file_t",NULL,NULL,NULL,NULL,NULL}}
961 },
962 {"::mongo::gridfile::create", NsfMongoGridFileCreateStub, 6, {
963 {"-source", NSF_ARG_REQUIRED|NSF_ARG_IS_ENUMERATION, 1, ConvertToGridfilesource, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
964 {"gfs", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_gridfs_t",NULL,NULL,NULL,NULL,NULL},
965 {"value", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
966 {"name", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
967 {"contenttype", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
968 {"-metadata", 0, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
969 },
970 {"::mongo::gridfile::delete", NsfMongoGridFileDeleteStub, 2, {
971 {"gfs", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_gridfs_t",NULL,NULL,NULL,NULL,NULL},
972 {"query", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
973 },
974 {"::mongo::gridfile::get_contenttype", NsfMongoGridFileGetContentTypeStub, 1, {
975 {"gridfile", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_gridfs_file_t",NULL,NULL,NULL,NULL,NULL}}
976 },
977 {"::mongo::gridfile::get_contentlength", NsfMongoGridFileGetContentlengthStub, 1, {
978 {"gridfile", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_gridfs_file_t",NULL,NULL,NULL,NULL,NULL}}
979 },
980 {"::mongo::gridfile::get_metadata", NsfMongoGridFileGetMetaDataStub, 1, {
981 {"gridfile", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_gridfs_file_t",NULL,NULL,NULL,NULL,NULL}}
982 },
983 {"::mongo::gridfile::open", NsfMongoGridFileOpenStub, 2, {
984 {"gfs", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_gridfs_t",NULL,NULL,NULL,NULL,NULL},
985 {"query", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
986 },
987 {"::mongo::gridfile::read", NsfMongoGridFileReadStub, 2, {
988 {"gridfile", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_gridfs_file_t",NULL,NULL,NULL,NULL,NULL},
989 {"size", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Int32, NULL,NULL,"int32",NULL,NULL,NULL,NULL,NULL}}
990 },
991 {"::mongo::gridfile::seek", NsfMongoGridFileSeekStub, 2, {
992 {"gridfile", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_gridfs_file_t",NULL,NULL,NULL,NULL,NULL},
993 {"offset", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Int32, NULL,NULL,"int32",NULL,NULL,NULL,NULL,NULL}}
994 },
995 {"::mongo::json::generate", NsfMongoJsonGenerateStub, 1, {
996 {"list", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
997 },
998 {"::mongo::json::parse", NsfMongoJsonParseStub, 1, {
999 {"json", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
1000 },
1001 {"::mongo::run", NsfMongoRunCmdStub, 4, {
1002 {"-nocomplain", 0, 0, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
1003 {"conn", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_client_t",NULL,NULL,NULL,NULL,NULL},
1004 {"db", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},
1005 {"cmd", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}
1006 },
1007 {"::mongo::status", NsfMongoStatusStub, 1, {
1008 {"conn", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Pointer, NULL,NULL,"mongoc_client_t",NULL,NULL,NULL,NULL,NULL}}
1009 },
1010 {NULL, NULL, 0, {{NULL, 0, 0, NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}}
1011 };
1012
1013