summaryrefslogtreecommitdiff
path: root/gi/_glib/pygoptioncontext.c
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2017-07-12 08:45:23 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2017-07-12 08:45:27 +0900
commitee6939d73fd96606a92eee870014c58eafee5e63 (patch)
tree6a3526fab8e841879fbcab05749fcb4a91a4f580 /gi/_glib/pygoptioncontext.c
parent0df45a72dc2a72275a5c49c38b87f73341987192 (diff)
downloadpygobject2-ee6939d73fd96606a92eee870014c58eafee5e63.tar.gz
pygobject2-ee6939d73fd96606a92eee870014c58eafee5e63.tar.bz2
pygobject2-ee6939d73fd96606a92eee870014c58eafee5e63.zip
Imported Upstream version 3.20.0
Change-Id: I8106882e9a0d7a8fb554f9549e7c2cde111c104b Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'gi/_glib/pygoptioncontext.c')
-rw-r--r--gi/_glib/pygoptioncontext.c337
1 files changed, 0 insertions, 337 deletions
diff --git a/gi/_glib/pygoptioncontext.c b/gi/_glib/pygoptioncontext.c
deleted file mode 100644
index b985dbe..0000000
--- a/gi/_glib/pygoptioncontext.c
+++ /dev/null
@@ -1,337 +0,0 @@
-/* -*- Mode: C; c-basic-offset: 4 -*-
- * pygtk- Python bindings for the GTK toolkit.
- * Copyright (C) 2006 Johannes Hoelzl
- *
- * pygoptioncontext.c: GOptionContext wrapper
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
- * USA
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <pyglib.h>
-#include "pyglib-private.h"
-#include "pygoptioncontext.h"
-
-PYGLIB_DEFINE_TYPE("gi._glib.OptionContext", PyGOptionContext_Type, PyGOptionContext)
-
-/**
- * pyg_option_context_new:
- * @context: a GOptionContext
- *
- * Returns: A new GOptionContext wrapper.
- */
-PyObject *
-pyg_option_context_new (GOptionContext *context)
-{
- PyGOptionContext *self;
-
- self = (PyGOptionContext *)PyObject_NEW(PyGOptionContext, &PyGOptionContext_Type);
- if (self == NULL)
- return NULL;
-
- self->context = context;
- self->main_group = NULL;
-
- return (PyObject *)self;
-}
-
-static int
-pyg_option_context_init(PyGOptionContext *self,
- PyObject *args,
- PyObject *kwargs)
-{
- char *parameter_string;
-
- if (!PyArg_ParseTuple(args, "s:gi._glib.GOptionContext.__init__",
- &parameter_string))
- return -1;
-
- self->context = g_option_context_new(parameter_string);
- return 0;
-}
-
-static void
-pyg_option_context_dealloc(PyGOptionContext *self)
-{
- Py_CLEAR(self->main_group);
-
- if (self->context != NULL)
- {
- GOptionContext *tmp = self->context;
- self->context = NULL;
- g_option_context_free(tmp);
- }
-
- PyObject_Del(self);
-}
-
-static PyObject *
-pyg_option_context_parse(PyGOptionContext *self,
- PyObject *args,
- PyObject *kwargs)
-{
- static char *kwlist[] = { "argv", NULL };
- PyObject *arg;
- PyObject *new_argv, *argv;
- Py_ssize_t argv_length, pos;
- gint argv_length_int;
- char **argv_content, **original;
- GError *error = NULL;
- gboolean result;
-
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:GOptionContext.parse",
- kwlist, &argv))
- return NULL;
-
- if (!PyList_Check(argv))
- {
- PyErr_SetString(PyExc_TypeError,
- "GOptionContext.parse expects a list of strings.");
- return NULL;
- }
-
- argv_length = PyList_Size(argv);
- if (argv_length == -1)
- {
- PyErr_SetString(PyExc_TypeError,
- "GOptionContext.parse expects a list of strings.");
- return NULL;
- }
-
- argv_content = g_new(char*, argv_length + 1);
- argv_content[argv_length] = NULL;
- for (pos = 0; pos < argv_length; pos++)
- {
- arg = PyList_GetItem(argv, pos);
- argv_content[pos] = g_strdup(PYGLIB_PyUnicode_AsString(arg));
- if (argv_content[pos] == NULL)
- {
- g_strfreev(argv_content);
- return NULL;
- }
- }
- original = g_strdupv(argv_content);
-
- g_assert(argv_length <= G_MAXINT);
- argv_length_int = argv_length;
- pyglib_begin_allow_threads;
- result = g_option_context_parse(self->context, &argv_length_int, &argv_content,
- &error);
- pyglib_end_allow_threads;
- argv_length = argv_length_int;
-
- if (!result)
- {
- g_strfreev(argv_content);
- g_strfreev(original);
- pyglib_error_check(&error);
- return NULL;
- }
-
- new_argv = PyList_New(g_strv_length(argv_content));
- for (pos = 0; pos < argv_length; pos++)
- {
- arg = PYGLIB_PyUnicode_FromString(argv_content[pos]);
- PyList_SetItem(new_argv, pos, arg);
- }
-
- g_strfreev(original);
- g_strfreev(argv_content);
- return new_argv;
-}
-
-static PyObject *
-pyg_option_context_set_help_enabled(PyGOptionContext *self,
- PyObject *args,
- PyObject *kwargs)
-{
- static char *kwlist[] = { "help_enable", NULL };
-
- PyObject *help_enabled;
- if (! PyArg_ParseTupleAndKeywords(args, kwargs,
- "O:GOptionContext.set_help_enabled",
- kwlist, &help_enabled))
- return NULL;
-
- g_option_context_set_help_enabled(self->context, PyObject_IsTrue(help_enabled));
-
- Py_INCREF(Py_None);
- return Py_None;
-}
-
-static PyObject *
-pyg_option_context_get_help_enabled(PyGOptionContext *self)
-{
- return PyBool_FromLong(g_option_context_get_help_enabled(self->context));
-}
-
-static PyObject *
-pyg_option_context_set_ignore_unknown_options(PyGOptionContext *self,
- PyObject *args,
- PyObject *kwargs)
-{
- static char *kwlist[] = { "ignore_unknown_options", NULL };
- PyObject *ignore_unknown_options;
-
- if (! PyArg_ParseTupleAndKeywords(args, kwargs,
- "O:GOptionContext.set_ignore_unknown_options",
- kwlist, &ignore_unknown_options))
- return NULL;
-
- g_option_context_set_ignore_unknown_options(self->context,
- PyObject_IsTrue(ignore_unknown_options));
-
-
- Py_INCREF(Py_None);
- return Py_None;
-}
-
-static PyObject *
-pyg_option_context_get_ignore_unknown_options(PyGOptionContext *self)
-{
- return PyBool_FromLong(
- g_option_context_get_ignore_unknown_options(self->context));
-}
-
-static PyObject *
-pyg_option_context_set_main_group(PyGOptionContext *self,
- PyObject *args,
- PyObject *kwargs)
-{
- static char *kwlist[] = { "group", NULL };
- GOptionGroup *g_group;
- PyObject *group;
-
- if (! PyArg_ParseTupleAndKeywords(args, kwargs,
- "O:GOptionContext.set_main_group",
- kwlist, &group))
- return NULL;
-
- if (PyObject_IsInstance(group, (PyObject*) &PyGOptionGroup_Type) != 1) {
- PyErr_SetString(PyExc_TypeError,
- "GOptionContext.set_main_group expects a GOptionGroup.");
- return NULL;
- }
-
- g_group = pyglib_option_group_transfer_group(group);
- if (g_group == NULL)
- {
- PyErr_SetString(PyExc_RuntimeError,
- "Group is already in a OptionContext.");
- return NULL;
- }
-
- g_option_context_set_main_group(self->context, g_group);
-
- Py_INCREF(group);
- self->main_group = (PyGOptionGroup*) group;
-
- Py_INCREF(Py_None);
- return Py_None;
-}
-
-static PyObject *
-pyg_option_context_get_main_group(PyGOptionContext *self)
-{
- if (self->main_group == NULL)
- {
- Py_INCREF(Py_None);
- return Py_None;
- }
- Py_INCREF(self->main_group);
- return (PyObject*) self->main_group;
-}
-
-static PyObject *
-pyg_option_context_add_group(PyGOptionContext *self,
- PyObject *args,
- PyObject *kwargs)
-{
- static char *kwlist[] = { "group", NULL };
- GOptionGroup *g_group;
- PyObject *group;
-
- if (! PyArg_ParseTupleAndKeywords(args, kwargs,
- "O:GOptionContext.add_group",
- kwlist, &group))
- return NULL;
-
- if (PyObject_IsInstance(group, (PyObject*) &PyGOptionGroup_Type) != 1) {
- PyErr_SetString(PyExc_TypeError,
- "GOptionContext.add_group expects a GOptionGroup.");
- return NULL;
- }
-
- g_group = pyglib_option_group_transfer_group(group);
- if (g_group == NULL)
- {
- PyErr_SetString(PyExc_RuntimeError,
- "Group is already in a OptionContext.");
- return NULL;
- }
- Py_INCREF(group);
-
- g_option_context_add_group(self->context, g_group);
-
- Py_INCREF(Py_None);
- return Py_None;
-}
-
-static PyObject*
-pyg_option_context_richcompare(PyObject *self, PyObject *other, int op)
-{
- if (Py_TYPE(self) == Py_TYPE(other) && Py_TYPE(self) == &PyGOptionContext_Type)
- return _pyglib_generic_ptr_richcompare(((PyGOptionContext*)self)->context,
- ((PyGOptionContext*)other)->context,
- op);
- else {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
- }
-}
-
-static PyObject *
-pyg_option_get_context(PyGOptionContext *self)
-{
- return PYGLIB_CPointer_WrapPointer(self->context, "goption.context");
-}
-
-static PyMethodDef pyg_option_context_methods[] = {
- { "parse", (PyCFunction)pyg_option_context_parse, METH_VARARGS | METH_KEYWORDS },
- { "set_help_enabled", (PyCFunction)pyg_option_context_set_help_enabled, METH_VARARGS | METH_KEYWORDS },
- { "get_help_enabled", (PyCFunction)pyg_option_context_get_help_enabled, METH_NOARGS },
- { "set_ignore_unknown_options", (PyCFunction)pyg_option_context_set_ignore_unknown_options, METH_VARARGS | METH_KEYWORDS },
- { "get_ignore_unknown_options", (PyCFunction)pyg_option_context_get_ignore_unknown_options, METH_NOARGS },
- { "set_main_group", (PyCFunction)pyg_option_context_set_main_group, METH_VARARGS | METH_KEYWORDS },
- { "get_main_group", (PyCFunction)pyg_option_context_get_main_group, METH_NOARGS },
- { "add_group", (PyCFunction)pyg_option_context_add_group, METH_VARARGS | METH_KEYWORDS },
- { "_get_context", (PyCFunction)pyg_option_get_context, METH_NOARGS },
- { NULL, NULL, 0 },
-};
-
-void
-pyglib_option_context_register_types(PyObject *d)
-{
- PyGOptionContext_Type.tp_dealloc = (destructor)pyg_option_context_dealloc;
- PyGOptionContext_Type.tp_richcompare = pyg_option_context_richcompare;
- PyGOptionContext_Type.tp_flags = Py_TPFLAGS_DEFAULT;
- PyGOptionContext_Type.tp_methods = pyg_option_context_methods;
- PyGOptionContext_Type.tp_init = (initproc)pyg_option_context_init;
- PYGLIB_REGISTER_TYPE(d, PyGOptionContext_Type, "OptionContext");
-}