git add -f bin/default/librpc/gen_ndr/*.{c,h,ndr,pidl} bin/default/source*/librpc...
[metze/samba/wip.git] / bin / default / librpc / gen_ndr / py_audiosrv.c
1
2 /* Python wrapper functions auto-generated by pidl */
3 #include <Python.h>
4 #include "includes.h"
5 #include <pytalloc.h>
6 #include "librpc/rpc/pyrpc.h"
7 #include "librpc/rpc/pyrpc_util.h"
8 #include "bin/default/librpc/gen_ndr/ndr_audiosrv.h"
9 #include "bin/default/librpc/gen_ndr/ndr_audiosrv_c.h"
10
11 /*
12  * These functions are here to ensure they can be optomised out by
13  * the compiler based on the constant input values
14  */
15
16 static inline unsigned long long ndr_sizeof2uintmax(size_t var_size)
17 {
18         switch (var_size) {
19         case 8:
20                 return UINT64_MAX;
21         case 4:
22                 return UINT32_MAX;
23         case 2:
24                 return UINT16_MAX;
25         case 1:
26                 return UINT8_MAX;
27         }
28
29         return 0;
30 }
31
32 static inline long long ndr_sizeof2intmax(size_t var_size)
33 {
34         switch (var_size) {
35         case 8:
36                 return INT64_MAX;
37         case 4:
38                 return INT32_MAX;
39         case 2:
40                 return INT16_MAX;
41         case 1:
42                 return INT8_MAX;
43         }
44
45         return 0;
46 }
47
48 static inline PyObject *ndr_PyLong_FromLongLong(long long v)
49 {
50         if (v > LONG_MAX || v < LONG_MIN) {
51                 return PyLong_FromLongLong(v);
52         } else {
53                 return PyInt_FromLong(v);
54         }
55 }
56
57 static inline PyObject *ndr_PyLong_FromUnsignedLongLong(unsigned long long v)
58 {
59         if (v > LONG_MAX) {
60                 return PyLong_FromUnsignedLongLong(v);
61         } else {
62                 return PyInt_FromLong(v);
63         }
64 }
65
66 static PyTypeObject audiosrv_InterfaceType;
67
68 void initaudiosrv(void);static PyTypeObject *ClientConnection_Type;
69 static PyTypeObject *ndr_syntax_id_Type;
70
71 const struct PyNdrRpcMethodDef py_ndr_audiosrv_methods[] = {
72         { NULL }
73 };
74
75 static PyObject *interface_audiosrv_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
76 {
77         return py_dcerpc_interface_init_helper(type, args, kwargs, &ndr_table_audiosrv);
78 }
79
80 #define PY_DOC_AUDIOSRV "Audio Server"
81 static PyTypeObject audiosrv_InterfaceType = {
82         PyObject_HEAD_INIT(NULL) 0,
83         .tp_name = "audiosrv.audiosrv",
84         .tp_basicsize = sizeof(dcerpc_InterfaceObject),
85         .tp_doc = "audiosrv(binding, lp_ctx=None, credentials=None) -> connection\n"
86 "\n"
87 "binding should be a DCE/RPC binding string (for example: ncacn_ip_tcp:127.0.0.1)\n"
88 "lp_ctx should be a path to a smb.conf file or a param.LoadParm object\n"
89 "credentials should be a credentials.Credentials object.\n\n"PY_DOC_AUDIOSRV,
90         .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
91         .tp_new = interface_audiosrv_new,
92 };
93
94 static PyObject *syntax_audiosrv_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
95 {
96         return py_dcerpc_syntax_init_helper(type, args, kwargs, &ndr_table_audiosrv.syntax_id);
97 }
98
99 #define PY_DOC_AUDIOSRV_SYNTAX "Audio Server"
100 static PyTypeObject audiosrv_SyntaxType = {
101         PyObject_HEAD_INIT(NULL) 0,
102         .tp_name = "audiosrv.audiosrv",
103         .tp_basicsize = sizeof(pytalloc_Object),
104         .tp_doc = "abstract_syntax()\n"PY_DOC_AUDIOSRV_SYNTAX,
105         .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
106         .tp_new = syntax_audiosrv_new,
107 };
108
109 static PyMethodDef audiosrv_methods[] = {
110         { NULL, NULL, 0, NULL }
111 };
112
113 void initaudiosrv(void)
114 {
115         PyObject *m;
116         PyObject *dep_samba_dcerpc_base;
117         PyObject *dep_samba_dcerpc_misc;
118
119         dep_samba_dcerpc_base = PyImport_ImportModule("samba.dcerpc.base");
120         if (dep_samba_dcerpc_base == NULL)
121                 return;
122
123         dep_samba_dcerpc_misc = PyImport_ImportModule("samba.dcerpc.misc");
124         if (dep_samba_dcerpc_misc == NULL)
125                 return;
126
127         ClientConnection_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samba_dcerpc_base, "ClientConnection");
128         if (ClientConnection_Type == NULL)
129                 return;
130
131         ndr_syntax_id_Type = (PyTypeObject *)PyObject_GetAttrString(dep_samba_dcerpc_misc, "ndr_syntax_id");
132         if (ndr_syntax_id_Type == NULL)
133                 return;
134
135         audiosrv_InterfaceType.tp_base = ClientConnection_Type;
136
137         audiosrv_SyntaxType.tp_base = ndr_syntax_id_Type;
138
139         if (PyType_Ready(&audiosrv_InterfaceType) < 0)
140                 return;
141         if (PyType_Ready(&audiosrv_SyntaxType) < 0)
142                 return;
143         if (!PyInterface_AddNdrRpcMethods(&audiosrv_InterfaceType, py_ndr_audiosrv_methods))
144                 return;
145
146 #ifdef PY_AUDIOSRV_PATCH
147         PY_AUDIOSRV_PATCH(&audiosrv_InterfaceType);
148 #endif
149 #ifdef PY_ABSTRACT_SYNTAX_PATCH
150         PY_ABSTRACT_SYNTAX_PATCH(&audiosrv_SyntaxType);
151 #endif
152
153         m = Py_InitModule3("audiosrv", audiosrv_methods, "audiosrv DCE/RPC");
154         if (m == NULL)
155                 return;
156
157         Py_INCREF((PyObject *)(void *)&audiosrv_InterfaceType);
158         PyModule_AddObject(m, "audiosrv", (PyObject *)(void *)&audiosrv_InterfaceType);
159         Py_INCREF((PyObject *)(void *)&audiosrv_SyntaxType);
160         PyModule_AddObject(m, "abstract_syntax", (PyObject *)(void *)&audiosrv_SyntaxType);
161 #ifdef PY_MOD_AUDIOSRV_PATCH
162         PY_MOD_AUDIOSRV_PATCH(m);
163 #endif
164
165 }