python: Fix skipping tests if running with GnuPG < 2.1.12.
[gpgme.git] / lang / python / helpers.h
1 /*
2 # Copyright (C) 2016 g10 Code GmbH
3 # Copyright (C) 2004 Igor Belyi <belyi@users.sourceforge.net>
4 # Copyright (C) 2002 John Goerzen <jgoerzen@complete.org>
5 #
6 #    This library is free software; you can redistribute it and/or
7 #    modify it under the terms of the GNU Lesser General Public
8 #    License as published by the Free Software Foundation; either
9 #    version 2.1 of the License, or (at your option) any later version.
10 #
11 #    This library 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 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 library; if not, write to the Free Software
18 #    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
19 */
20
21 #ifdef HAVE_CONFIG_H
22 #include "config.h"
23 #endif
24
25 #include <gpgme.h>
26 #include "Python.h"
27
28 #ifdef _WIN32
29 #include <windows.h>
30 #define write(fd, str, sz) {DWORD written; WriteFile((HANDLE) fd, str, sz, &written, 0);}
31 #endif
32
33 /* Flag specifying whether this is an in-tree build.  */
34 extern int gpg_in_tree_build;
35
36 PyObject *gpg_raise_callback_exception(PyObject *self);
37
38 PyObject *gpg_set_passphrase_cb(PyObject *self, PyObject *cb);
39 PyObject *gpg_set_progress_cb(PyObject *self, PyObject *cb);
40 PyObject *gpg_set_status_cb(PyObject *self, PyObject *cb);
41
42 PyObject *gpg_data_new_from_cbs(PyObject *self, PyObject *pycbs,
43                                  gpgme_data_t *r_data);