cb4d2f8036a1d4b92e58f2638c7b85587e4b0835
[gpgme.git] / lang / python / private.h
1 /*
2  * Copyright (C) 2016 g10 Code GmbH
3  *
4  * This file is part of GPGME.
5  *
6  * GPGME is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as
8  * published by the Free Software Foundation; either version 2.1 of
9  * the License, or (at your option) any later version.
10  *
11  * GPGME is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this program; if not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #include <gpgme.h>
21
22 #ifndef _PYME_PRIVATE_H_
23 #define _PYME_PRIVATE_H_
24
25 /* GPGME glue.  Implemented in helpers.c.  */
26
27 void _pyme_exception_init(void);
28 gpgme_error_t _pyme_exception2code(void);
29
30 PyObject *_pyme_obj2gpgme_t(PyObject *input, const char *objtype, int argnum);
31 PyObject *_pyme_obj2gpgme_data_t(PyObject *input, int argnum,
32                                  gpgme_data_t *wrapper,
33                                  PyObject **bytesio, Py_buffer *view);
34
35 PyObject *_pyme_wrap_result(PyObject *fragile, const char *classname);
36
37 gpgme_error_t _pyme_edit_cb(void *opaque, gpgme_status_code_t status,
38                             const char *args, int fd);
39
40 gpgme_error_t _pyme_assuan_data_cb (void *hook,
41                                     const void *data, size_t datalen);
42 gpgme_error_t _pyme_assuan_inquire_cb (void *hook,
43                                        const char *name, const char *args,
44                                        gpgme_data_t *r_data);
45 gpgme_error_t _pyme_assuan_status_cb (void *hook,
46                                       const char *status, const char *args);
47
48 \f
49
50 /* SWIG runtime support.  Implemented in gpgme.i.  */
51
52 PyObject *_pyme_wrap_gpgme_data_t(gpgme_data_t data);
53 gpgme_ctx_t _pyme_unwrap_gpgme_ctx_t(PyObject *wrapped);
54
55 #endif /* _PYME_PRIVATE_H_ */