blob: fc6887445e8679d16bcee1004bfa1fe74a46ab60 [file] [log] [blame]
Thomas Wouters49fd7fa2006-04-21 10:40:58 +00001/* prepare_protocol.c - the protocol for preparing values for SQLite
2 *
Florent Xiclunac934f322010-09-03 23:47:32 +00003 * Copyright (C) 2005-2010 Gerhard Häring <gh@ghaering.de>
Thomas Wouters49fd7fa2006-04-21 10:40:58 +00004 *
5 * This file is part of pysqlite.
6 *
7 * This software is provided 'as-is', without any express or implied
8 * warranty. In no event will the authors be held liable for any damages
9 * arising from the use of this software.
10 *
11 * Permission is granted to anyone to use this software for any purpose,
12 * including commercial applications, and to alter it and redistribute it
13 * freely, subject to the following restrictions:
14 *
15 * 1. The origin of this software must not be misrepresented; you must not
16 * claim that you wrote the original software. If you use this software
17 * in a product, an acknowledgment in the product documentation would be
18 * appreciated but is not required.
19 * 2. Altered source versions must be plainly marked as such, and must not be
20 * misrepresented as being the original software.
21 * 3. This notice may not be removed or altered from any source distribution.
22 */
23
Gerhard Häringf9cee222010-03-05 15:20:03 +000024#include "sqlitecompat.h"
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000025#include "prepare_protocol.h"
26
Thomas Woutersfc7bb8c2007-01-15 15:49:28 +000027int pysqlite_prepare_protocol_init(pysqlite_PrepareProtocol* self, PyObject* args, PyObject* kwargs)
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000028{
29 return 0;
30}
31
Thomas Woutersfc7bb8c2007-01-15 15:49:28 +000032void pysqlite_prepare_protocol_dealloc(pysqlite_PrepareProtocol* self)
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000033{
Christian Heimes90aa7642007-12-19 02:45:37 +000034 Py_TYPE(self)->tp_free((PyObject*)self);
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000035}
36
Thomas Woutersfc7bb8c2007-01-15 15:49:28 +000037PyTypeObject pysqlite_PrepareProtocolType= {
Martin v. Löwis9f2e3462007-07-21 17:22:18 +000038 PyVarObject_HEAD_INIT(NULL, 0)
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000039 MODULE_NAME ".PrepareProtocol", /* tp_name */
Thomas Woutersfc7bb8c2007-01-15 15:49:28 +000040 sizeof(pysqlite_PrepareProtocol), /* tp_basicsize */
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000041 0, /* tp_itemsize */
Thomas Woutersfc7bb8c2007-01-15 15:49:28 +000042 (destructor)pysqlite_prepare_protocol_dealloc, /* tp_dealloc */
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000043 0, /* tp_print */
44 0, /* tp_getattr */
45 0, /* tp_setattr */
Mark Dickinsone94c6792009-02-02 20:36:42 +000046 0, /* tp_reserved */
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000047 0, /* tp_repr */
48 0, /* tp_as_number */
49 0, /* tp_as_sequence */
50 0, /* tp_as_mapping */
51 0, /* tp_hash */
52 0, /* tp_call */
53 0, /* tp_str */
54 0, /* tp_getattro */
55 0, /* tp_setattro */
56 0, /* tp_as_buffer */
57 Py_TPFLAGS_DEFAULT, /* tp_flags */
58 0, /* tp_doc */
59 0, /* tp_traverse */
60 0, /* tp_clear */
61 0, /* tp_richcompare */
62 0, /* tp_weaklistoffset */
63 0, /* tp_iter */
64 0, /* tp_iternext */
65 0, /* tp_methods */
66 0, /* tp_members */
67 0, /* tp_getset */
68 0, /* tp_base */
69 0, /* tp_dict */
70 0, /* tp_descr_get */
71 0, /* tp_descr_set */
72 0, /* tp_dictoffset */
Thomas Woutersfc7bb8c2007-01-15 15:49:28 +000073 (initproc)pysqlite_prepare_protocol_init, /* tp_init */
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000074 0, /* tp_alloc */
75 0, /* tp_new */
76 0 /* tp_free */
77};
78
Thomas Woutersfc7bb8c2007-01-15 15:49:28 +000079extern int pysqlite_prepare_protocol_setup_types(void)
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000080{
Thomas Woutersfc7bb8c2007-01-15 15:49:28 +000081 pysqlite_PrepareProtocolType.tp_new = PyType_GenericNew;
Christian Heimes90aa7642007-12-19 02:45:37 +000082 Py_TYPE(&pysqlite_PrepareProtocolType)= &PyType_Type;
Thomas Woutersfc7bb8c2007-01-15 15:49:28 +000083 return PyType_Ready(&pysqlite_PrepareProtocolType);
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000084}