ekg2
GIT master
Strona główna
Dodatkowe strony
Moduły
Struktury Danych
Pliki
Lista plików
Globalne
All
Struktury Danych
Pliki
Funkcje
Zmienne
Definicje typów
Wyliczenia
Wartości wyliczeń
Definicje
Grupay
Strony
plugins
python
python-plugin.h
Idź do dokumentacji tego pliku.
1
/* $Id$ */
2
3
/*
4
* (C) Copyright 2004-2005 Leszek Krupiński <leafnode@pld-linux.org>
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License Version 2 as
8
* published by the Free Software Foundation.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18
*/
19
20
#ifndef __PYTHON_PLUGIN_H_
21
22
#define __PYTHON_PLUGIN_H_
23
24
#include <Python.h>
25
26
typedef
struct
27
{
28
PyObject_HEAD
;
29
char
*
name
;
30
int
prio
;
31
int
loaded
;
32
}
ekg_pluginObj
;
33
34
void
ekg_plugin_dealloc
(
ekg_pluginObj
*o);
35
int
ekg_plugin_init
(
ekg_pluginObj
*
self
, PyObject *args, PyObject *kwds);
36
PyObject*
ekg_plugin_unload
(
ekg_pluginObj
*
self
, PyObject *args);
37
PyObject*
ekg_plugin_load
(
ekg_pluginObj
*
self
, PyObject *args);
38
PyObject*
ekg_plugin_is_loaded
(
ekg_pluginObj
*
self
, PyObject *args);
39
PyObject*
ekg_plugin_get_attr
(
ekg_pluginObj
*
self
,
char
* attr);
40
41
staticforward PyMethodDef
ekg_plugin_methods
[] = {
42
{
"load"
, (PyCFunction)
ekg_plugin_load
, METH_VARARGS,
"Load plugin"
},
43
{
"unload"
, (PyCFunction)
ekg_plugin_unload
, METH_NOARGS,
"Unload plugin"
},
44
{
"isLoaded"
, (PyCFunction)
ekg_plugin_is_loaded
, METH_NOARGS,
"Check if plugin is loaded"
},
45
{
NULL
,
NULL
, 0, NULL}
46
};
47
48
static
PyTypeObject
ekg_plugin_type
= {
49
PyObject_HEAD_INIT(
NULL
)
50
0,
51
"plugin"
,
52
sizeof
(
ekg_pluginObj
),
53
0,
54
(destructor)
ekg_plugin_dealloc
,
55
0,
56
(getattrfunc)
ekg_plugin_get_attr
,
57
0,
58
0,
59
0,
60
0,
61
0,
62
0,
63
0,
/*tp_hash */
64
0,
/*tp_call*/
65
0,
/*tp_str*/
66
0,
/*tp_getattro*/
67
0,
/*tp_setattro*/
68
0,
/*tp_as_buffer*/
69
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
/*tp_flags*/
70
"Plugin object"
,
/* tp_doc */
71
0,
/* tp_traverse */
72
0,
/* tp_clear */
73
0,
/* tp_richcompare */
74
0,
/* tp_weaklistoffset */
75
0,
/* tp_iter */
76
0,
/* tp_iternext */
77
ekg_plugin_methods
,
/* tp_methods */
78
0,
/* tp_members */
79
0,
/* tp_getset */
80
0,
/* tp_base */
81
0,
/* tp_dict */
82
0,
/* tp_descr_get */
83
0,
/* tp_descr_set */
84
0,
/* tp_dictoffset */
85
(initproc)
ekg_plugin_init
,
/* tp_init */
86
0,
/* tp_alloc */
87
0,
/* tp_new */
88
};
89
90
91
#endif
92
93
/*
94
* Local Variables:
95
* mode: c
96
* c-file-style: "k&r"
97
* c-basic-offset: 8
98
* indent-tabs-mode: t
99
* End:
100
* vim: sts=8 sw=8
101
*/
Wygenerowano Wt, 29 paź 2013 20:17:04 dla ekg2 programem
1.8.4