| Current File : //usr/share/pygobject27/2.0/defs/gfileattribute.override |
/* -*- Mode: C; c-basic-offset: 4 -*-
* pygobject - Python bindings for GObject
* Copyright (C) 2008 Gian Mario Tagliaretti
*
* gfileattribute.override: module overrides for GFileAttribute*
*
* 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
*/
%%
headers
extern PyTypeObject PyGFileAttributeInfo_Type;
typedef struct {
PyObject_HEAD
const GFileAttributeInfo *info;
} PyGFileAttributeInfo;
static PyObject *
pygio_file_attribute_info_tp_new(PyTypeObject *type)
{
PyGFileAttributeInfo *self;
GFileAttributeInfo *info = NULL;
self = (PyGFileAttributeInfo *) PyObject_NEW(PyGFileAttributeInfo,
&PyGFileAttributeInfo_Type);
self->info = info;
return (PyObject *) self;
}
static PyMethodDef pyg_file_attribute_info_methods[] = {
{ NULL, 0, 0 }
};
static PyObject *
pyg_file_attribute_info__get_name(PyObject *self, void *closure)
{
const gchar *ret;
ret = ((PyGFileAttributeInfo*)self)->info->name;
if (ret)
return PyString_FromString(ret);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
pyg_file_attribute_info__get_type(PyObject *self, void *closure)
{
gint ret;
ret = ((PyGFileAttributeInfo*)self)->info->type;
return pyg_enum_from_gtype(G_TYPE_FILE_ATTRIBUTE_TYPE, ret);
}
static PyObject *
pyg_file_attribute_info__get_flags(PyObject *self, void *closure)
{
guint ret;
ret = ((PyGFileAttributeInfo*)self)->info->flags;
return pyg_flags_from_gtype(G_TYPE_FILE_ATTRIBUTE_INFO_FLAGS, ret);
}
static const PyGetSetDef pyg_file_attribute_info_getsets[] = {
{ "name", (getter)pyg_file_attribute_info__get_name, (setter)0 },
{ "type", (getter)pyg_file_attribute_info__get_type, (setter)0 },
{ "flags", (getter)pyg_file_attribute_info__get_flags, (setter)0 },
{ NULL, (getter)0, (setter)0 },
};
PyTypeObject PyGFileAttributeInfo_Type = {
PyObject_HEAD_INIT(NULL)
0, /* ob_size */
"gio.FileAttributeInfo", /* tp_name */
sizeof(PyGFileAttributeInfo), /* tp_basicsize */
0, /* tp_itemsize */
/* methods */
(destructor)0, /* tp_dealloc */
(printfunc)0, /* tp_print */
(getattrfunc)0, /* tp_getattr */
(setattrfunc)0, /* tp_setattr */
(cmpfunc)0, /* tp_compare */
(reprfunc)0, /* tp_repr */
0, /* tp_as_number */
0, /* tp_as_sequence */
0, /* tp_as_mapping */
(hashfunc)0, /* tp_hash */
(ternaryfunc)0, /* tp_call */
(reprfunc)0, /* tp_str */
(getattrofunc)0, /* tp_getattro */
(setattrofunc)0, /* tp_setattro */
0, /* tp_as_buffer */
Py_TPFLAGS_DEFAULT, /* tp_flags */
"Holds information about an attribute", /* Documentation string */
(traverseproc)0, /* tp_traverse */
(inquiry)0, /* tp_clear */
(richcmpfunc)0, /* tp_richcompare */
0, /* tp_weaklistoffset */
(getiterfunc)0, /* tp_iter */
(iternextfunc)0, /* tp_iternext */
(struct PyMethodDef*)pyg_file_attribute_info_methods, /* tp_methods */
0, /* tp_members */
(struct PyGetSetDef*)pyg_file_attribute_info_getsets, /* tp_getset */
(PyTypeObject *)0, /* tp_base */
(PyObject *)0, /* tp_dict */
0, /* tp_descr_get */
0, /* tp_descr_set */
0, /* tp_dictoffset */
(initproc)0, /* tp_init */
0, /* tp_alloc */
(newfunc)pygio_file_attribute_info_tp_new, /* tp_new */
0, /* tp_free */
(inquiry)0, /* tp_is_gc */
(PyObject *)0, /* tp_bases */
};
PyObject*
pyg_file_attribute_info_new(const GFileAttributeInfo *info)
{
PyGFileAttributeInfo *self;
self = (PyGFileAttributeInfo *)PyObject_NEW(PyGFileAttributeInfo,
&PyGFileAttributeInfo_Type);
if (G_UNLIKELY(self == NULL))
return NULL;
if (info)
self->info = info;
return (PyObject *)self;
}
%%
init
if (PyType_Ready(&PyGFileAttributeInfo_Type) < 0) {
g_return_if_reached();
}
if (PyDict_SetItemString(d, "FileAttributeInfo",
(PyObject *)&PyGFileAttributeInfo_Type) < 0) {
g_return_if_reached();
}