関数 | |
PyObject * | spoolss_hnd_addform (PyObject *self, PyObject *args, PyObject *kw) |
PyObject * | spoolss_hnd_getform (PyObject *self, PyObject *args, PyObject *kw) |
PyObject * | spoolss_hnd_setform (PyObject *self, PyObject *args, PyObject *kw) |
PyObject * | spoolss_hnd_deleteform (PyObject *self, PyObject *args, PyObject *kw) |
PyObject * | spoolss_hnd_enumforms (PyObject *self, PyObject *args, PyObject *kw) |
PyObject* spoolss_hnd_addform | ( | PyObject * | self, | |
PyObject * | args, | |||
PyObject * | kw | |||
) |
py_spoolss_forms.c の 25 行で定義されています。
参照先 spoolss_policy_hnd_object::cli・form_name()・get_level_value()・init_unistr2()・level・spoolss_policy_hnd_object::mem_ctx・_form::name・spoolss_policy_hnd_object::pol・py_to_FORM()・py_werror_tuple()・rpccli_spoolss_addform()・spoolss_error・spoolss_werror・UNI_STR_TERMINATE・werror.
00026 { 00027 spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; 00028 WERROR werror; 00029 PyObject *info; 00030 FORM form; 00031 int level; 00032 static char *kwlist[] = {"form", NULL}; 00033 00034 /* Parse parameters */ 00035 00036 if (!PyArg_ParseTupleAndKeywords( 00037 args, kw, "O!", kwlist, &PyDict_Type, &info)) 00038 return NULL; 00039 00040 /* Call rpc function */ 00041 00042 if (!py_to_FORM(&form, info)) { 00043 PyErr_SetString(spoolss_error, "invalid form"); 00044 return NULL; 00045 } 00046 00047 if (!get_level_value(info, &level)) { 00048 PyErr_SetString(spoolss_error, "invalid info level"); 00049 return NULL; 00050 } 00051 00052 if (level != 1) { 00053 PyErr_SetString(spoolss_error, "unsupported info level"); 00054 return NULL; 00055 } 00056 00057 switch (level) { 00058 case 1: { 00059 PyObject *obj = PyDict_GetItemString(info, "name"); 00060 char *form_name = PyString_AsString(obj); 00061 00062 init_unistr2(&form.name, form_name, UNI_STR_TERMINATE); 00063 break; 00064 } 00065 default: 00066 PyErr_SetString(spoolss_error, "unsupported info level"); 00067 return NULL; 00068 } 00069 00070 werror = rpccli_spoolss_addform(hnd->cli, hnd->mem_ctx, &hnd->pol, 00071 level, &form); 00072 00073 00074 if (!W_ERROR_IS_OK(werror)) { 00075 PyErr_SetObject(spoolss_werror, py_werror_tuple(werror)); 00076 return NULL; 00077 } 00078 00079 Py_INCREF(Py_None); 00080 return Py_None; 00081 }
PyObject* spoolss_hnd_getform | ( | PyObject * | self, | |
PyObject * | args, | |||
PyObject * | kw | |||
) |
py_spoolss_forms.c の 85 行で定義されています。
参照先 spoolss_policy_hnd_object::cli・form_name()・level・spoolss_policy_hnd_object::mem_ctx・spoolss_policy_hnd_object::pol・py_from_FORM_1()・py_werror_tuple()・result・rpccli_spoolss_getform()・spoolss_werror・werror.
00086 { 00087 spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; 00088 WERROR werror; 00089 PyObject *result; 00090 char *form_name; 00091 int level = 1; 00092 static char *kwlist[] = {"form_name", "level", NULL}; 00093 FORM_1 form; 00094 00095 /* Parse parameters */ 00096 00097 if (!PyArg_ParseTupleAndKeywords( 00098 args, kw, "s|i", kwlist, &form_name, &level)) 00099 return NULL; 00100 00101 /* Call rpc function */ 00102 00103 werror = rpccli_spoolss_getform( 00104 hnd->cli, hnd->mem_ctx, &hnd->pol, form_name, level, &form); 00105 00106 if (!W_ERROR_IS_OK(werror)) { 00107 PyErr_SetObject(spoolss_werror, py_werror_tuple(werror)); 00108 return NULL; 00109 } 00110 00111 result = Py_None; 00112 00113 switch(level) { 00114 case 1: 00115 py_from_FORM_1(&result, &form); 00116 break; 00117 } 00118 00119 Py_INCREF(result); 00120 return result; 00121 }
PyObject* spoolss_hnd_setform | ( | PyObject * | self, | |
PyObject * | args, | |||
PyObject * | kw | |||
) |
py_spoolss_forms.c の 125 行で定義されています。
参照先 spoolss_policy_hnd_object::cli・form_name()・get_level_value()・level・spoolss_policy_hnd_object::mem_ctx・spoolss_policy_hnd_object::pol・py_to_FORM()・py_werror_tuple()・rpccli_spoolss_setform()・spoolss_error・spoolss_werror・werror.
00126 { 00127 spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; 00128 WERROR werror; 00129 PyObject *info, *form_name; 00130 int level; 00131 static char *kwlist[] = { "form", NULL}; 00132 FORM form; 00133 00134 /* Parse parameters */ 00135 00136 if (!PyArg_ParseTupleAndKeywords( 00137 args, kw, "O!", kwlist, &PyDict_Type, &info)) 00138 return NULL; 00139 00140 if (!get_level_value(info, &level)) { 00141 PyErr_SetString(spoolss_error, "invalid info level"); 00142 return NULL; 00143 } 00144 00145 if (level != 1) { 00146 PyErr_SetString(spoolss_error, "unsupported info level"); 00147 return NULL; 00148 } 00149 00150 /* Call rpc function */ 00151 00152 if (!py_to_FORM(&form, info)) { 00153 PyErr_SetString(spoolss_error, "invalid form"); 00154 return NULL; 00155 } 00156 00157 form_name = PyDict_GetItemString(info, "name"); 00158 00159 werror = rpccli_spoolss_setform( 00160 hnd->cli, hnd->mem_ctx, &hnd->pol, level, 00161 PyString_AsString(form_name), &form); 00162 00163 if (!W_ERROR_IS_OK(werror)) { 00164 PyErr_SetObject(spoolss_werror, py_werror_tuple(werror)); 00165 return NULL; 00166 } 00167 00168 Py_INCREF(Py_None); 00169 return Py_None; 00170 }
PyObject* spoolss_hnd_deleteform | ( | PyObject * | self, | |
PyObject * | args, | |||
PyObject * | kw | |||
) |
py_spoolss_forms.c の 174 行で定義されています。
参照先 spoolss_policy_hnd_object::cli・form_name()・spoolss_policy_hnd_object::mem_ctx・spoolss_policy_hnd_object::pol・py_werror_tuple()・rpccli_spoolss_deleteform()・spoolss_werror・werror.
00175 { 00176 spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; 00177 WERROR werror; 00178 static char *kwlist[] = {"form_name", NULL}; 00179 char *form_name; 00180 00181 /* Parse parameters */ 00182 00183 if (!PyArg_ParseTupleAndKeywords( 00184 args, kw, "s", kwlist, &form_name)) 00185 return NULL; 00186 00187 /* Call rpc function */ 00188 00189 werror = rpccli_spoolss_deleteform( 00190 hnd->cli, hnd->mem_ctx, &hnd->pol, form_name); 00191 00192 if (!W_ERROR_IS_OK(werror)) { 00193 PyErr_SetObject(spoolss_werror, py_werror_tuple(werror)); 00194 return NULL; 00195 } 00196 00197 Py_INCREF(Py_None); 00198 return Py_None; 00199 }
PyObject* spoolss_hnd_enumforms | ( | PyObject * | self, | |
PyObject * | args, | |||
PyObject * | kw | |||
) |
py_spoolss_forms.c の 203 行で定義されています。
参照先 spoolss_policy_hnd_object::cli・level・spoolss_policy_hnd_object::mem_ctx・name・spoolss_policy_hnd_object::pol・py_from_FORM_1()・py_werror_tuple()・result・rpccli_spoolss_enumforms()・rpcstr_pull()・spoolss_error・spoolss_werror・werror.
00204 { 00205 PyObject *result; 00206 spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; 00207 WERROR werror; 00208 uint32 level = 1, num_forms, i; 00209 static char *kwlist[] = {"level", NULL}; 00210 FORM_1 *forms; 00211 00212 /* Parse parameters */ 00213 00214 if (!PyArg_ParseTupleAndKeywords( 00215 args, kw, "|i", kwlist, &level)) 00216 return NULL; 00217 00218 /* Call rpc function */ 00219 00220 werror = rpccli_spoolss_enumforms( 00221 hnd->cli, hnd->mem_ctx, &hnd->pol, level, &num_forms, &forms); 00222 00223 if (!W_ERROR_IS_OK(werror)) { 00224 PyErr_SetObject(spoolss_werror, py_werror_tuple(werror)); 00225 return NULL; 00226 } 00227 00228 switch(level) { 00229 case 1: 00230 result = PyDict_New(); 00231 00232 for (i = 0; i < num_forms; i++) { 00233 PyObject *value; 00234 fstring name; 00235 00236 rpcstr_pull(name, forms[i].name.buffer, 00237 sizeof(fstring), -1, STR_TERMINATE); 00238 00239 py_from_FORM_1(&value, &forms[i]); 00240 00241 PyDict_SetItemString( 00242 value, "level", PyInt_FromLong(1)); 00243 00244 PyDict_SetItemString(result, name, value); 00245 } 00246 00247 break; 00248 default: 00249 PyErr_SetString(spoolss_error, "unknown info level"); 00250 return NULL; 00251 } 00252 00253 return result; 00254 }