1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#include <Python.h>
#include "pymodule.h"
#include "base-objects.h"
#include "irc-connect-object.h"
#include "pyirssi_irc.h"
#include "pycore.h"
#include "pyutils.h"
/* cleanup and deallocation handled by Connect base */
/* Getters */
PyDoc_STRVAR(PyIrcConnect_alternate_nick_doc,
"Alternate nick to use if default nick is taken"
);
static PyObject *PyIrcConnect_alternate_nick_get(PyIrcConnect *self, void *closure)
{
RET_NULL_IF_INVALID(self->data);
RET_AS_STRING_OR_NONE(self->data->alternate_nick);
}
/* Get/Set */
static PyGetSetDef PyIrcConnect_getseters[] = {
{"alternate_nick", (getter)PyIrcConnect_alternate_nick_get, NULL,
PyIrcConnect_alternate_nick_doc, NULL},
{NULL}
};
PyTypeObject PyIrcConnectType = {
PyObject_HEAD_INIT(NULL)
0, /*ob_size*/
"IrcConnect", /*tp_name*/
sizeof(PyIrcConnect), /*tp_basicsize*/
0, /*tp_itemsize*/
0, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/
0, /*tp_compare*/
0, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
0, /*tp_call*/
0, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/
"PyIrcConnect objects", /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
0, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
0, /* tp_iternext */
0, /* tp_methods */
0, /* tp_members */
PyIrcConnect_getseters, /* tp_getset */
&PyConnectType, /* tp_base */
0, /* tp_dict */
0, /* tp_descr_get */
0, /* tp_descr_set */
0, /* tp_dictoffset */
0, /* tp_init */
0, /* tp_alloc */
0, /* tp_new */
};
PyObject *pyirc_connect_new(void *connect, int managed)
{
return pyconnect_sub_new(connect, &PyIrcConnectType, managed);
}
int irc_connect_object_init(void)
{
g_return_val_if_fail(py_module != NULL, 0);
if (PyType_Ready(&PyIrcConnectType) < 0)
return 0;
Py_INCREF(&PyIrcConnectType);
PyModule_AddObject(py_module, "IrcConnect", (PyObject *)&PyIrcConnectType);
return 1;
}
|