[Pkg-gnupg-commit] [gpgme] 241/412: python: Expose less functions to the Python world.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Thu Sep 22 21:26:55 UTC 2016


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch master
in repository gpgme.

commit 3d4dc3f0218234a27103bdb6f93b17c0703b71a2
Author: Justus Winter <justus at g10code.com>
Date:   Thu Jul 28 10:20:20 2016 +0200

    python: Expose less functions to the Python world.
    
    * lang/python/Makefile.am (EXTRA_DIST, COPY_FILES): Add new file.
    * lang/python/gpgme.i: Include new file and add comments.
    * lang/python/helpers.c: Include new file.
    * lang/python/helpers.h: Move functions we do not need to expose...
    * lang/python/private.h: ... here.
    
    Signed-off-by: Justus Winter <justus at g10code.com>
---
 lang/python/Makefile.am |  4 ++--
 lang/python/gpgme.i     |  4 ++++
 lang/python/helpers.c   |  2 ++
 lang/python/helpers.h   | 13 -------------
 lang/python/private.h   | 38 ++++++++++++++++++++++++++++++++++++++
 5 files changed, 46 insertions(+), 15 deletions(-)

diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
index 0ac1dd0..3651db9 100644
--- a/lang/python/Makefile.am
+++ b/lang/python/Makefile.am
@@ -20,7 +20,7 @@ EXTRA_DIST = \
 	README \
 	MANIFEST.in \
 	gpgme.i \
-	helpers.c helpers.h \
+	helpers.c helpers.h private.h \
 	gpgme-h-clean.py \
 	examples \
 	pyme
@@ -34,7 +34,7 @@ COPY_FILES = \
 	$(srcdir)/gpgme-h-clean.py \
 	$(srcdir)/pyme \
 	$(srcdir)/examples \
-	$(srcdir)/helpers.c $(srcdir)/helpers.h
+	$(srcdir)/helpers.c $(srcdir)/helpers.h $(srcdir)/private.h
 
 # For VPATH builds we need to copy some files because Python's
 # distutils are not VPATH-aware.
diff --git a/lang/python/gpgme.i b/lang/python/gpgme.i
index c1e0074..2b186c4 100644
--- a/lang/python/gpgme.i
+++ b/lang/python/gpgme.i
@@ -476,8 +476,10 @@ struct _gpgme_sig_notation
 %}
 FILE *fdopen(int fildes, const char *mode);
 
+/* We include both headers in the generated c code...  */
 %{
 #include "helpers.h"
+#include "private.h"
 
 /* SWIG support for helpers.c  */
 PyObject *
@@ -499,4 +501,6 @@ pygpgme_unwrap_gpgme_ctx_t(PyObject *wrapped)
 }
 %}
 
+/* ... but only the public definitions here.  They will be exposed to
+   the Python world, so let's be careful.  */
 %include "helpers.h"
diff --git a/lang/python/helpers.c b/lang/python/helpers.c
index d6cbb88..2b38172 100644
--- a/lang/python/helpers.c
+++ b/lang/python/helpers.c
@@ -24,7 +24,9 @@
 #include <stdlib.h>
 #include <string.h>
 #include "Python.h"
+
 #include "helpers.h"
+#include "private.h"
 
 static PyObject *GPGMEError = NULL;
 
diff --git a/lang/python/helpers.h b/lang/python/helpers.h
index beb2682..4bfb664 100644
--- a/lang/python/helpers.h
+++ b/lang/python/helpers.h
@@ -26,25 +26,12 @@
 #define write(fd, str, sz) {DWORD written; WriteFile((HANDLE) fd, str, sz, &written, 0);}
 #endif
 
-void pygpgme_exception_init(void);
-gpgme_error_t pygpgme_exception2code(void);
-
-PyObject *object_to_gpgme_t(PyObject *input, const char *objtype, int argnum);
-PyObject *object_to_gpgme_data_t(PyObject *input, int argnum,
-				 gpgme_data_t *wrapper,
-				 PyObject **bytesio, Py_buffer *view);
-
-PyObject *pygpgme_wrap_fragile_result(PyObject *fragile, const char *classname);
-
 PyObject *pygpgme_raise_callback_exception(PyObject *self);
 
 PyObject *pygpgme_set_passphrase_cb(PyObject *self, PyObject *cb);
 PyObject *pygpgme_set_progress_cb(PyObject *self, PyObject *cb);
 PyObject *pygpgme_set_status_cb(PyObject *self, PyObject *cb);
 
-gpgme_error_t pyEditCb(void *opaque, gpgme_status_code_t status,
-		       const char *args, int fd);
-
 PyObject *pygpgme_data_new_from_cbs(PyObject *self, PyObject *pycbs,
 				    gpgme_data_t *r_data);
 
diff --git a/lang/python/private.h b/lang/python/private.h
new file mode 100644
index 0000000..cb21f06
--- /dev/null
+++ b/lang/python/private.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2016 g10 Code GmbH
+ *
+ * This file is part of GPGME.
+ *
+ * GPGME is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * GPGME is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <gpgme.h>
+
+#ifndef _PYME_PRIVATE_H_
+#define _PYME_PRIVATE_H_
+
+void pygpgme_exception_init(void);
+gpgme_error_t pygpgme_exception2code(void);
+
+PyObject *object_to_gpgme_t(PyObject *input, const char *objtype, int argnum);
+PyObject *object_to_gpgme_data_t(PyObject *input, int argnum,
+				 gpgme_data_t *wrapper,
+				 PyObject **bytesio, Py_buffer *view);
+
+PyObject *pygpgme_wrap_fragile_result(PyObject *fragile, const char *classname);
+
+gpgme_error_t pyEditCb(void *opaque, gpgme_status_code_t status,
+		       const char *args, int fd);
+
+#endif /* _PYME_PRIVATE_H_ */

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gpgme.git



More information about the Pkg-gnupg-commit mailing list