mirror of
https://github.com/samba-team/samba.git
synced 2024-12-27 03:21:53 +03:00
Moved form related functions as methods in the policy handle object.
(This used to be commit 7c4bcc48aa
)
This commit is contained in:
parent
b39e0d6b43
commit
7cf6b169a3
@ -22,6 +22,7 @@
|
||||
#include "Python.h"
|
||||
#include "python/py_common.h"
|
||||
#include "python/py_spoolss.h"
|
||||
#include "python/py_spoolss_forms.h"
|
||||
|
||||
/* Exceptions this module can raise */
|
||||
|
||||
@ -32,6 +33,35 @@ static void py_policy_hnd_dealloc(PyObject* self)
|
||||
PyObject_Del(self);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static PyMethodDef spoolss_hnd_methods[] = {
|
||||
|
||||
/* Forms */
|
||||
|
||||
{ "enumforms", spoolss_enumforms, METH_VARARGS | METH_KEYWORDS,
|
||||
"Enumerate forms" },
|
||||
|
||||
{ "setform", spoolss_setform, METH_VARARGS | METH_KEYWORDS,
|
||||
"Modify properties of a form" },
|
||||
|
||||
{ "addform", spoolss_addform, METH_VARARGS | METH_KEYWORDS,
|
||||
"Insert a form" },
|
||||
|
||||
{ "getform", spoolss_getform, METH_VARARGS | METH_KEYWORDS,
|
||||
"Fetch form properties" },
|
||||
|
||||
{ "deleteform", spoolss_deleteform, METH_VARARGS | METH_KEYWORDS,
|
||||
"Delete a form" },
|
||||
|
||||
{ NULL }
|
||||
|
||||
};
|
||||
static PyObject *py_policy_hnd_getattr(PyObject *self, char *attrname)
|
||||
{
|
||||
return Py_FindMethod(spoolss_hnd_methods, self, attrname);
|
||||
}
|
||||
|
||||
static PyObject *new_policy_hnd_object(struct cli_state *cli,
|
||||
TALLOC_CTX *mem_ctx, POLICY_HND *pol)
|
||||
{
|
||||
@ -54,7 +84,7 @@ PyTypeObject spoolss_policy_hnd_type = {
|
||||
0,
|
||||
py_policy_hnd_dealloc, /*tp_dealloc*/
|
||||
0, /*tp_print*/
|
||||
0, /*tp_getattr*/
|
||||
py_policy_hnd_getattr, /*tp_getattr*/
|
||||
0, /*tp_setattr*/
|
||||
0, /*tp_compare*/
|
||||
0, /*tp_repr*/
|
||||
@ -1023,26 +1053,6 @@ static PyMethodDef spoolss_methods[] = {
|
||||
{ "enumprinters", spoolss_enumprinters, METH_VARARGS | METH_KEYWORDS,
|
||||
"Enumerate printers" },
|
||||
|
||||
/* Forms */
|
||||
|
||||
{ "enumforms", spoolss_enumforms, METH_VARARGS | METH_KEYWORDS,
|
||||
"Enumerate forms" },
|
||||
|
||||
{ "setform", spoolss_setform, METH_VARARGS | METH_KEYWORDS,
|
||||
"Modify properties of a form" },
|
||||
|
||||
{ "addform", spoolss_addform, METH_VARARGS | METH_KEYWORDS,
|
||||
"Insert a form" },
|
||||
|
||||
{ "getform", spoolss_getform, METH_VARARGS | METH_KEYWORDS,
|
||||
"Fetch form properties" },
|
||||
|
||||
{ "deleteform", spoolss_deleteform, METH_VARARGS | METH_KEYWORDS,
|
||||
"Delete a form" },
|
||||
|
||||
{ "enumforms", spoolss_enumforms, METH_VARARGS | METH_KEYWORDS,
|
||||
"Delete a form" },
|
||||
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
@ -1081,6 +1091,7 @@ static void const_init(PyObject *dict)
|
||||
for (tmp = spoolss_const_vals; tmp->name; tmp++) {
|
||||
obj = PyInt_FromLong(tmp->value);
|
||||
PyDict_SetItemString(dict, tmp->name, obj);
|
||||
Py_DECREF(obj);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -49,23 +49,19 @@ struct pyconv py_FORM_1[] = {
|
||||
|
||||
PyObject *spoolss_addform(PyObject *self, PyObject *args, PyObject *kw)
|
||||
{
|
||||
PyObject *po;
|
||||
spoolss_policy_hnd_object *hnd;
|
||||
spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self;
|
||||
WERROR werror;
|
||||
PyObject *py_form;
|
||||
FORM form;
|
||||
int level = 1;
|
||||
static char *kwlist[] = {"hnd", "form", "level", NULL};
|
||||
static char *kwlist[] = {"form", "level", NULL};
|
||||
|
||||
/* Parse parameters */
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(
|
||||
args, kw, "O!O!|i", kwlist, &spoolss_policy_hnd_type, &po,
|
||||
&PyDict_Type, &py_form, &level))
|
||||
args, kw, "O!|i", kwlist, &PyDict_Type, &py_form, &level))
|
||||
return NULL;
|
||||
|
||||
hnd = (spoolss_policy_hnd_object *)po;
|
||||
|
||||
/* Call rpc function */
|
||||
|
||||
switch (level) {
|
||||
@ -105,25 +101,20 @@ PyObject *spoolss_addform(PyObject *self, PyObject *args, PyObject *kw)
|
||||
|
||||
PyObject *spoolss_getform(PyObject *self, PyObject *args, PyObject *kw)
|
||||
{
|
||||
PyObject *po;
|
||||
spoolss_policy_hnd_object *hnd;
|
||||
spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self;
|
||||
WERROR werror;
|
||||
PyObject *result;
|
||||
char *form_name;
|
||||
int level = 1;
|
||||
static char *kwlist[] = {"hnd", "form_name", "level", NULL};
|
||||
static char *kwlist[] = {"form_name", "level", NULL};
|
||||
uint32 needed;
|
||||
FORM_1 form;
|
||||
|
||||
/* Parse parameters */
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kw, "O!s|i", kwlist,
|
||||
&spoolss_policy_hnd_type, &po, &form_name,
|
||||
&level))
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kw, "s|i", kwlist, &form_name, &level))
|
||||
return NULL;
|
||||
|
||||
hnd = (spoolss_policy_hnd_object *)po;
|
||||
|
||||
/* Call rpc function */
|
||||
|
||||
werror = cli_spoolss_getform(hnd->cli, hnd->mem_ctx, 0, &needed,
|
||||
@ -156,24 +147,20 @@ PyObject *spoolss_getform(PyObject *self, PyObject *args, PyObject *kw)
|
||||
|
||||
PyObject *spoolss_setform(PyObject *self, PyObject *args, PyObject *kw)
|
||||
{
|
||||
PyObject *po;
|
||||
spoolss_policy_hnd_object *hnd;
|
||||
spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self;
|
||||
WERROR werror;
|
||||
PyObject *py_form;
|
||||
int level = 1;
|
||||
static char *kwlist[] = {"hnd", "form_name", "form", "level", NULL};
|
||||
static char *kwlist[] = {"form_name", "form", "level", NULL};
|
||||
char *form_name;
|
||||
FORM form;
|
||||
|
||||
/* Parse parameters */
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kw, "O!sO!|i", kwlist,
|
||||
&spoolss_policy_hnd_type, &po, &form_name,
|
||||
&PyDict_Type, &py_form, &level))
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kw, "sO!|i", kwlist,
|
||||
&form_name, &PyDict_Type, &py_form, &level))
|
||||
return NULL;
|
||||
|
||||
hnd = (spoolss_policy_hnd_object *)po;
|
||||
|
||||
/* Call rpc function */
|
||||
|
||||
to_struct(&form, py_form, py_FORM);
|
||||
@ -197,22 +184,18 @@ PyObject *spoolss_setform(PyObject *self, PyObject *args, PyObject *kw)
|
||||
|
||||
PyObject *spoolss_deleteform(PyObject *self, PyObject *args, PyObject *kw)
|
||||
{
|
||||
PyObject *po;
|
||||
spoolss_policy_hnd_object *hnd;
|
||||
spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self;
|
||||
WERROR werror;
|
||||
int level = 1;
|
||||
static char *kwlist[] = {"hnd", "form_name", "level", NULL};
|
||||
static char *kwlist[] = {"form_name", "level", NULL};
|
||||
char *form_name;
|
||||
|
||||
/* Parse parameters */
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(
|
||||
args, kw, "O!s|i", kwlist, &spoolss_policy_hnd_type, &po,
|
||||
&form_name, &level))
|
||||
args, kw, "s|i", kwlist, &form_name, &level))
|
||||
return NULL;
|
||||
|
||||
hnd = (spoolss_policy_hnd_object *)po;
|
||||
|
||||
/* Call rpc function */
|
||||
|
||||
werror = cli_spoolss_deleteform(
|
||||
@ -232,22 +215,19 @@ PyObject *spoolss_deleteform(PyObject *self, PyObject *args, PyObject *kw)
|
||||
|
||||
PyObject *spoolss_enumforms(PyObject *self, PyObject *args, PyObject *kw)
|
||||
{
|
||||
PyObject *po, *result;
|
||||
spoolss_policy_hnd_object *hnd;
|
||||
PyObject *result;
|
||||
spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self;
|
||||
WERROR werror;
|
||||
uint32 level = 1, num_forms, needed, i;
|
||||
static char *kwlist[] = {"hnd", "level", NULL};
|
||||
static char *kwlist[] = {"level", NULL};
|
||||
FORM_1 *forms;
|
||||
|
||||
/* Parse parameters */
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(
|
||||
args, kw, "O!|i", kwlist, &spoolss_policy_hnd_type,
|
||||
&po, &level))
|
||||
args, kw, "|i", kwlist, &level))
|
||||
return NULL;
|
||||
|
||||
hnd = (spoolss_policy_hnd_object *)po;
|
||||
|
||||
/* Call rpc function */
|
||||
|
||||
werror = cli_spoolss_enumforms(
|
||||
|
Loading…
Reference in New Issue
Block a user