pycredentials.h: use import to ensure python type correctness
[npower/samba.git] / auth / credentials / pycredentials.h
1 /* 
2    Unix SMB/CIFS implementation.
3    Samba utility functions
4    Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2008
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 as published by
8    the Free Software Foundation; either version 3 of the License, or
9    (at your option) any later version.
10    
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15    
16    You should have received a copy of the GNU General Public License
17    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19 #ifndef _PYCREDENTIALS_H_
20 #define _PYCREDENTIALS_H_
21
22 #include "auth/credentials/credentials.h"
23 #include "librpc/rpc/pyrpc_util.h"
24 #include <pytalloc.h>
25
26 extern PyTypeObject PyCredentials;
27 extern PyTypeObject PyCredentialCacheContainer;
28 #define PyCredentials_Check(py_obj)                                     \
29         py_check_dcerpc_type(py_obj, "samba.credentials", "Credentials")
30
31 #define PyCredentials_AsCliCredentials(py_obj)                          \
32         (PyCredentials_Check(py_obj) ?                                  \
33          pytalloc_get_type(py_obj, struct cli_credentials) : NULL)
34
35 #define cli_credentials_from_py_object(py_obj)                   \
36         ((py_obj == Py_None) ?                                   \
37          cli_credentials_init_anon(NULL) :                       \
38          PyCredentials_AsCliCredentials(py_obj))
39
40 #endif /*  _PYCREDENTIALS_H_ */