summaryrefslogtreecommitdiffstats
path: root/objects/irc-channel-object.c
diff options
context:
space:
mode:
Diffstat (limited to 'objects/irc-channel-object.c')
-rw-r--r--objects/irc-channel-object.c173
1 files changed, 0 insertions, 173 deletions
diff --git a/objects/irc-channel-object.c b/objects/irc-channel-object.c
deleted file mode 100644
index 5e9531d..0000000
--- a/objects/irc-channel-object.c
+++ /dev/null
@@ -1,173 +0,0 @@
-#include <Python.h>
-#include "pyirssi_irc.h"
-#include "pymodule.h"
-#include "pycore.h"
-#include "irc-channel-object.h"
-#include "factory.h"
-
-/* PyIrcChannel destructor is inherited from PyChannel */
-
-/* specialized getters/setters */
-static PyGetSetDef PyIrcChannel_getseters[] = {
- {NULL}
-};
-
-/* Methods */
-PyDoc_STRVAR(bans_doc,
- "bans() -> list of Ban objects\n"
- "\n"
- "Returns a list of bans in the channel.\n"
-);
-static PyObject *PyIrcChannel_bans(PyIrcChannel *self, PyObject *args)
-{
- RET_NULL_IF_INVALID(self->data);
-
- return py_irssi_objlist_new(self->data->banlist, 1, (InitFunc)pyban_new);
-}
-
-PyDoc_STRVAR(ban_get_mask_doc,
- "ban_get_mask(nick, ban_type=0) -> str\n"
- "\n"
- "Get ban mask for 'nick'.\n"
-);
-static PyObject *PyIrcChannel_ban_get_mask(PyIrcChannel *self, PyObject *args, PyObject *kwds)
-{
- static char *kwlist[] = {"nick", "ban_type", NULL};
- char *nick, *str;
- int ban_type = 0;
- PyObject *ret;
-
- RET_NULL_IF_INVALID(self->data);
-
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|i", kwlist, &nick, &ban_type))
- return NULL;
-
- str = ban_get_mask(self->data, nick, ban_type);
- if (!str)
- Py_RETURN_NONE;
-
- ret = PyString_FromString(str);
- g_free(str);
-
- return ret;
-}
-
-PyDoc_STRVAR(banlist_add_doc,
- "banlist_add(ban, nick, time) -> Ban object or None\n"
- "\n"
- "Add a new ban to channel. Return None if duplicate."
-);
-static PyObject *PyIrcChannel_banlist_add(PyIrcChannel *self, PyObject *args, PyObject *kwds)
-{
- static char *kwlist[] = {"ban", "nick", "time", NULL};
- char *ban, *nick;
- time_t btime;
- BAN_REC *newban;
-
- RET_NULL_IF_INVALID(self->data);
-
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "ssk", kwlist, &ban, &nick, &btime))
- return NULL;
-
- newban = banlist_add(self->data, ban, nick, btime);
- /* XXX: return none or throw error? */
- if (!newban)
- Py_RETURN_NONE;
-
- return pyban_new(newban);
-}
-
-PyDoc_STRVAR(banlist_remove_doc,
- "banlist_remove(ban, nick) -> None\n"
- "\n"
- "Remove a new ban from channel.\n"
-);
-static PyObject *PyIrcChannel_banlist_remove(PyIrcChannel *self, PyObject *args, PyObject *kwds)
-{
- static char *kwlist[] = {"ban", "nick", NULL};
- char *ban, *nick;
-
- RET_NULL_IF_INVALID(self->data);
-
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "ss", kwlist, &ban, &nick))
- return NULL;
-
- banlist_remove(self->data, ban, nick);
- Py_RETURN_NONE;
-}
-
-/* Methods for object */
-static PyMethodDef PyIrcChannel_methods[] = {
- {"bans", (PyCFunction)PyIrcChannel_bans, METH_NOARGS,
- bans_doc},
- {"ban_get_mask", (PyCFunction)PyIrcChannel_ban_get_mask, METH_VARARGS | METH_KEYWORDS,
- ban_get_mask_doc},
- {"banlist_add", (PyCFunction)PyIrcChannel_banlist_add, METH_VARARGS | METH_KEYWORDS,
- banlist_add_doc},
- {"banlist_remove", (PyCFunction)PyIrcChannel_banlist_remove, METH_VARARGS | METH_KEYWORDS,
- banlist_remove_doc},
- {NULL} /* Sentinel */
-};
-
-PyTypeObject PyIrcChannelType = {
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size*/
- "IrcChannel", /*tp_name*/
- sizeof(PyIrcChannel), /*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*/
- "PyIrcChannel objects", /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- PyIrcChannel_methods, /* tp_methods */
- 0, /* tp_members */
- PyIrcChannel_getseters, /* tp_getset */
- &PyChannelType, /* 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 */
-};
-
-
-/* irc channel factory function */
-PyObject *pyirc_channel_new(void *chan)
-{
- static const char *BASE_NAME = "CHANNEL";
- return pychannel_sub_new(chan, BASE_NAME, &PyIrcChannelType);
-}
-
-int irc_channel_object_init(void)
-{
- g_return_val_if_fail(py_module != NULL, 0);
-
- if (PyType_Ready(&PyIrcChannelType) < 0)
- return 0;
-
- Py_INCREF(&PyIrcChannelType);
- PyModule_AddObject(py_module, "IrcChannel", (PyObject *)&PyIrcChannelType);
-
- return 1;
-}