/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.14u-20021029-2131
 * 
 * This file is not intended to be easily readable and contains a number of 
 * coding conventions designed to improve portability and efficiency. Do not make
 * changes to this file unless you know what you are doing--modify the SWIG 
 * interface file instead. 
 * ----------------------------------------------------------------------------- */

#define SWIGPYTHON

#include "Python.h"

/***********************************************************************
 * common.swg
 *
 *     This file contains generic SWIG runtime support for pointer
 *     type checking as well as a few commonly used macros to control
 *     external linkage.
 *
 * Author : David Beazley (beazley@cs.uchicago.edu)
 *
 * Copyright (c) 1999-2000, The University of Chicago
 * 
 * This file may be freely redistributed without license or fee provided
 * this copyright message remains intact.
 ************************************************************************/

#include <string.h>

#if defined(_WIN32) || defined(__WIN32__)
#       if defined(_MSC_VER)
#               if defined(STATIC_LINKED)
#                       define SWIGEXPORT(a) a
#                       define SWIGIMPORT(a) extern a
#               else
#                       define SWIGEXPORT(a) __declspec(dllexport) a
#                       define SWIGIMPORT(a) extern a
#               endif
#       else
#               if defined(__BORLANDC__)
#                       define SWIGEXPORT(a) a _export
#                       define SWIGIMPORT(a) a _export
#               else
#                       define SWIGEXPORT(a) a
#                       define SWIGIMPORT(a) a
#               endif
#       endif
#else
#       define SWIGEXPORT(a) a
#       define SWIGIMPORT(a) a
#endif

#ifdef SWIG_GLOBAL
#define SWIGRUNTIME(a) SWIGEXPORT(a)
#else
#define SWIGRUNTIME(a) static a
#endif

#ifdef __cplusplus
extern "C" {
#endif

typedef void *(*swig_converter_func)(void *);
typedef struct swig_type_info *(*swig_dycast_func)(void **);

typedef struct swig_type_info {
  const char             *name;                 
  swig_converter_func     converter;
  const char             *str;
  void                   *clientdata;	
  swig_dycast_func        dcast;
  struct swig_type_info  *next;
  struct swig_type_info  *prev;
} swig_type_info;

#ifdef SWIG_NOINCLUDE

SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *);
SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);
SWIGIMPORT(void *)           SWIG_TypeCast(swig_type_info *, void *);
SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);
SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);
SWIGIMPORT(void)             SWIG_TypeClientData(swig_type_info *, void *);

#else

static swig_type_info *swig_type_list = 0;

/* Register a type mapping with the type-checking */
SWIGRUNTIME(swig_type_info *)
SWIG_TypeRegister(swig_type_info *ti)
{
  swig_type_info *tc, *head, *ret, *next;
  /* Check to see if this type has already been registered */
  tc = swig_type_list;
  while (tc) {
    if (strcmp(tc->name, ti->name) == 0) {
      /* Already exists in the table.  Just add additional types to the list */
      if (tc->clientdata) ti->clientdata = tc->clientdata;	
      head = tc;
      next = tc->next;
      goto l1;
    }
    tc = tc->prev;
  }
  head = ti;
  next = 0;

  /* Place in list */
  ti->prev = swig_type_list;
  swig_type_list = ti;

  /* Build linked lists */
 l1:
  ret = head;
  tc = ti + 1;
  /* Patch up the rest of the links */
  while (tc->name) {
    head->next = tc;
    tc->prev = head;
    head = tc;
    tc++;
  }
  head->next = next;
  return ret;
}

/* Check the typename */
SWIGRUNTIME(swig_type_info *) 
SWIG_TypeCheck(char *c, swig_type_info *ty)
{
  swig_type_info *s;
  if (!ty) return 0;        /* Void pointer */
  s = ty->next;             /* First element always just a name */
  do {
    if (strcmp(s->name,c) == 0) {
      if (s == ty->next) return s;
      /* Move s to the top of the linked list */
      s->prev->next = s->next;
      if (s->next) {
	s->next->prev = s->prev;
      }
      /* Insert s as second element in the list */
      s->next = ty->next;
      if (ty->next) ty->next->prev = s;
      ty->next = s;
      return s;
    }
    s = s->next;
  } while (s && (s != ty->next));
  return 0;
}

/* Cast a pointer up an inheritance hierarchy */
SWIGRUNTIME(void *) 
SWIG_TypeCast(swig_type_info *ty, void *ptr) 
{
  if ((!ty) || (!ty->converter)) return ptr;
  return (*ty->converter)(ptr);
}

/* Dynamic pointer casting. Down an inheritance hierarchy */
SWIGRUNTIME(swig_type_info *) 
SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) 
{
  swig_type_info *lastty = ty;
  if (!ty || !ty->dcast) return ty;
  while (ty && (ty->dcast)) {
     ty = (*ty->dcast)(ptr);
     if (ty) lastty = ty;
  }
  return lastty;
}

/* Search for a swig_type_info structure */
SWIGRUNTIME(swig_type_info *)
SWIG_TypeQuery(const char *name) {
  swig_type_info *ty = swig_type_list;
  while (ty) {
    if (ty->str && (strcmp(name,ty->str) == 0)) return ty;
    if (ty->name && (strcmp(name,ty->name) == 0)) return ty;
    ty = ty->prev;
  }
  return 0;
}

/* Set the clientdata field for a type */
SWIGRUNTIME(void)
SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
  swig_type_info *tc, *equiv;
  if (ti->clientdata) return;
  ti->clientdata = clientdata;
  equiv = ti->next;
  while (equiv) {
    if (!equiv->converter) {
      tc = swig_type_list;
      while (tc) {
	if ((strcmp(tc->name, equiv->name) == 0))
	  SWIG_TypeClientData(tc,clientdata);
	tc = tc->prev;
      }
    }
    equiv = equiv->next;
  }
}
#endif

#ifdef __cplusplus
}

#endif

/***********************************************************************
 * python.swg
 *
 *     This file contains the runtime support for Python modules
 *     and includes code for managing global variables and pointer
 *     type checking.
 *
 * Author : David Beazley (beazley@cs.uchicago.edu)
 ************************************************************************/

#include "Python.h"

#ifdef __cplusplus
extern "C" {
#endif

#define SWIG_PY_INT     1
#define SWIG_PY_FLOAT   2
#define SWIG_PY_STRING  3
#define SWIG_PY_POINTER 4
#define SWIG_PY_BINARY  5

/* Flags for pointer conversion */

#define SWIG_POINTER_EXCEPTION     0x1
#define SWIG_POINTER_DISOWN        0x2

/* Constant information structure */
typedef struct swig_const_info {
    int type;
    char *name;
    long lvalue;
    double dvalue;
    void   *pvalue;
    swig_type_info **ptype;
} swig_const_info;

#ifdef SWIG_NOINCLUDE

SWIGEXPORT(PyObject *)        SWIG_newvarlink();
SWIGEXPORT(void)              SWIG_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
SWIGEXPORT(int)               SWIG_ConvertPtr(PyObject *, void **, swig_type_info *, int);
SWIGEXPORT(int)               SWIG_ConvertPacked(PyObject *, void *, int sz, swig_type_info *, int);
SWIGEXPORT(char *)            SWIG_PackData(char *c, void *, int);
SWIGEXPORT(char *)            SWIG_UnpackData(char *c, void *, int);
SWIGEXPORT(PyObject *)        SWIG_NewPointerObj(void *, swig_type_info *,int own);
SWIGEXPORT(PyObject *)        SWIG_NewPackedObj(void *, int sz, swig_type_info *);
SWIGEXPORT(void)              SWIG_InstallConstants(PyObject *d, swig_const_info constants[]);
#else

/* -----------------------------------------------------------------------------
 * global variable support code.
 * ----------------------------------------------------------------------------- */

typedef struct swig_globalvar {   
  char       *name;                  /* Name of global variable */
  PyObject *(*get_attr)(void);       /* Return the current value */
  int       (*set_attr)(PyObject *); /* Set the value */
  struct swig_globalvar *next;
} swig_globalvar;

typedef struct swig_varlinkobject {
  PyObject_HEAD
  swig_globalvar *vars;
} swig_varlinkobject;

static PyObject *
swig_varlink_repr(swig_varlinkobject *v) {
  v = v;
  return PyString_FromString("<Global variables>");
}

static int
swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) {
  swig_globalvar  *var;
  flags = flags;
  fprintf(fp,"Global variables { ");
  for (var = v->vars; var; var=var->next) {
    fprintf(fp,"%s", var->name);
    if (var->next) fprintf(fp,", ");
  }
  fprintf(fp," }\n");
  return 0;
}

static PyObject *
swig_varlink_getattr(swig_varlinkobject *v, char *n) {
  swig_globalvar *var = v->vars;
  while (var) {
    if (strcmp(var->name,n) == 0) {
      return (*var->get_attr)();
    }
    var = var->next;
  }
  PyErr_SetString(PyExc_NameError,"Unknown C global variable");
  return NULL;
}

static int
swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
  swig_globalvar *var = v->vars;
  while (var) {
    if (strcmp(var->name,n) == 0) {
      return (*var->set_attr)(p);
    }
    var = var->next;
  }
  PyErr_SetString(PyExc_NameError,"Unknown C global variable");
  return 1;
}

statichere PyTypeObject varlinktype = {
  PyObject_HEAD_INIT(0)              
  0,
  (char *)"swigvarlink",                      /* Type name    */
  sizeof(swig_varlinkobject),         /* Basic size   */
  0,                                  /* Itemsize     */
  0,                                  /* Deallocator  */ 
  (printfunc) swig_varlink_print,     /* Print        */
  (getattrfunc) swig_varlink_getattr, /* get attr     */
  (setattrfunc) swig_varlink_setattr, /* Set attr     */
  0,                                  /* tp_compare   */
  (reprfunc) swig_varlink_repr,       /* tp_repr      */    
  0,                                  /* tp_as_number */
  0,                                  /* tp_as_mapping*/
  0,                                  /* tp_hash      */
};

/* Create a variable linking object for use later */
SWIGRUNTIME(PyObject *)
SWIG_newvarlink(void) {
  swig_varlinkobject *result = 0;
  result = PyMem_NEW(swig_varlinkobject,1);
  varlinktype.ob_type = &PyType_Type;    /* Patch varlinktype into a PyType */
  result->ob_type = &varlinktype;
  result->vars = 0;
  result->ob_refcnt = 0;
  Py_XINCREF((PyObject *) result);
  return ((PyObject*) result);
}

SWIGRUNTIME(void)
SWIG_addvarlink(PyObject *p, char *name,
	   PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
  swig_varlinkobject *v;
  swig_globalvar *gv;
  v= (swig_varlinkobject *) p;
  gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
  gv->name = (char *) malloc(strlen(name)+1);
  strcpy(gv->name,name);
  gv->get_attr = get_attr;
  gv->set_attr = set_attr;
  gv->next = v->vars;
  v->vars = gv;
}

/* Pack binary data into a string */
SWIGRUNTIME(char *)
SWIG_PackData(char *c, void *ptr, int sz) {
  static char hex[17] = "0123456789abcdef";
  int i;
  unsigned char *u = (unsigned char *) ptr;
  register unsigned char uu;
  for (i = 0; i < sz; i++,u++) {
    uu = *u;
    *(c++) = hex[(uu & 0xf0) >> 4];
    *(c++) = hex[uu & 0xf];
  }
  return c;
}

/* Unpack binary data from a string */
SWIGRUNTIME(char *)
SWIG_UnpackData(char *c, void *ptr, int sz) {
  register unsigned char uu = 0;
  register int d;
  unsigned char *u = (unsigned char *) ptr;
  int i;
  for (i = 0; i < sz; i++, u++) {
    d = *(c++);
    if ((d >= '0') && (d <= '9'))
      uu = ((d - '0') << 4);
    else if ((d >= 'a') && (d <= 'f'))
      uu = ((d - ('a'-10)) << 4);
    d = *(c++);
    if ((d >= '0') && (d <= '9'))
      uu |= (d - '0');
    else if ((d >= 'a') && (d <= 'f'))
      uu |= (d - ('a'-10));
    *u = uu;
  }
  return c;
}

/* Convert a pointer value */
SWIGRUNTIME(int)
SWIG_ConvertPtr(PyObject *obj, void **ptr, swig_type_info *ty, int flags) {
  swig_type_info *tc;
  char  *c;
  static PyObject *SWIG_this = 0;
  int    newref = 0;
  PyObject  *pyobj = 0;

  if (!obj) return 0;
  if (obj == Py_None) {
    *ptr = 0;
    return 0;
  }
#ifdef SWIG_COBJECT_TYPES
  if (!(PyCObject_Check(obj))) {
    if (!SWIG_this)
      SWIG_this = PyString_FromString("this");
    pyobj = obj;
    obj = PyObject_GetAttr(obj,SWIG_this);
    newref = 1;
    if (!obj) goto type_error;
    if (!PyCObject_Check(obj)) {
      Py_DECREF(obj);
      goto type_error;
    }
  }  
  *ptr = PyCObject_AsVoidPtr(obj);
  c = (char *) PyCObject_GetDesc(obj);
  if (newref) Py_DECREF(obj);
  goto cobject;
#else
  if (!(PyString_Check(obj))) {
    if (!SWIG_this)
      SWIG_this = PyString_FromString("this");
    pyobj = obj;
    obj = PyObject_GetAttr(obj,SWIG_this);
    newref = 1;
    if (!obj) goto type_error;
    if (!PyString_Check(obj)) {
      Py_DECREF(obj);
      goto type_error;
    }
  } 
  c = PyString_AsString(obj);
  /* Pointer values must start with leading underscore */
  if (*c != '_') {
    *ptr = (void *) 0;
    if (strcmp(c,"NULL") == 0) {
      if (newref) { Py_DECREF(obj); }
      return 0;
    } else {
      if (newref) { Py_DECREF(obj); }
      goto type_error;
    }
  }
  c++;
  c = SWIG_UnpackData(c,ptr,sizeof(void *));
  if (newref) { Py_DECREF(obj); }
#endif

#ifdef SWIG_COBJECT_TYPES
cobject:
#endif

  if (ty) {
    tc = SWIG_TypeCheck(c,ty);
    if (!tc) goto type_error;
    *ptr = SWIG_TypeCast(tc,(void*) *ptr);
  }

  if ((pyobj) && (flags & SWIG_POINTER_DISOWN)) {
      PyObject *zero = PyInt_FromLong(0);
      PyObject_SetAttrString(pyobj,"thisown",zero);
      Py_DECREF(zero);
  }
  return 0;

type_error:
  if (flags & SWIG_POINTER_EXCEPTION) {
    if (ty) {
      char *temp = (char *) malloc(64+strlen(ty->name));
      sprintf(temp,"Type error. Expected %s", ty->name);
      PyErr_SetString(PyExc_TypeError, temp);
      free((char *) temp);
    } else {
      PyErr_SetString(PyExc_TypeError,"Expected a pointer");
    }
  }
  return -1;
}

/* Convert a packed value value */
SWIGRUNTIME(int)
SWIG_ConvertPacked(PyObject *obj, void *ptr, int sz, swig_type_info *ty, int flags) {
  swig_type_info *tc;
  char  *c;

  if ((!obj) || (!PyString_Check(obj))) goto type_error;
  c = PyString_AsString(obj);
  /* Pointer values must start with leading underscore */
  if (*c != '_') goto type_error;
  c++;
  c = SWIG_UnpackData(c,ptr,sz);
  if (ty) {
    tc = SWIG_TypeCheck(c,ty);
    if (!tc) goto type_error;
  }
  return 0;

type_error:

  if (flags) {
    if (ty) {
      char *temp = (char *) malloc(64+strlen(ty->name));
      sprintf(temp,"Type error. Expected %s", ty->name);
      PyErr_SetString(PyExc_TypeError, temp);
      free((char *) temp);
    } else {
      PyErr_SetString(PyExc_TypeError,"Expected a pointer");
    }
  }
  return -1;
}

/* Create a new pointer object */
SWIGRUNTIME(PyObject *)
SWIG_NewPointerObj(void *ptr, swig_type_info *type, int own) {
  PyObject *robj;
  if (!ptr) {
    Py_INCREF(Py_None);
    return Py_None;
  }
#ifdef SWIG_COBJECT_TYPES
  robj = PyCObject_FromVoidPtrAndDesc((void *) ptr, (char *) type->name, NULL);
#else
  {
    char result[1024];
    char *r = result;
    *(r++) = '_';
    r = SWIG_PackData(r,&ptr,sizeof(void *));
    strcpy(r,type->name);
    robj = PyString_FromString(result);
  }
#endif
  if (!robj || (robj == Py_None)) return robj;
  if (type->clientdata) {
    PyObject *inst;
    PyObject *args = Py_BuildValue((char*)"(O)", robj);
    Py_DECREF(robj);
    inst = PyObject_CallObject((PyObject *) type->clientdata, args);
    Py_DECREF(args);
    if (inst) {
      if (own) {
	PyObject *n = PyInt_FromLong(1);
	PyObject_SetAttrString(inst,(char*)"thisown",n);
	Py_DECREF(n);
      }
      robj = inst;
    }
  }
  return robj;
}

SWIGRUNTIME(PyObject *)
SWIG_NewPackedObj(void *ptr, int sz, swig_type_info *type) {
  char result[1024];
  char *r = result;
  if ((2*sz + 1 + strlen(type->name)) > 1000) return 0;
  *(r++) = '_';
  r = SWIG_PackData(r,ptr,sz);
  strcpy(r,type->name);
  return PyString_FromString(result);
}

/* Install Constants */
SWIGRUNTIME(void)
SWIG_InstallConstants(PyObject *d, swig_const_info constants[]) {
  int i;
  PyObject *obj;
  for (i = 0; constants[i].type; i++) {
    switch(constants[i].type) {
    case SWIG_PY_INT:
      obj = PyInt_FromLong(constants[i].lvalue);
      break;
    case SWIG_PY_FLOAT:
      obj = PyFloat_FromDouble(constants[i].dvalue);
      break;
    case SWIG_PY_STRING:
      obj = PyString_FromString((char *) constants[i].pvalue);
      break;
    case SWIG_PY_POINTER:
      obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
      break;
    case SWIG_PY_BINARY:
      obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
      break;
    default:
      obj = 0;
      break;
    }
    if (obj) {
      PyDict_SetItemString(d,constants[i].name,obj);
      Py_DECREF(obj);
    }
  }
}

#endif

#ifdef __cplusplus
}
#endif








/* -------- TYPES TABLE (BEGIN) -------- */

#define  SWIGTYPE_p_GpgmeProgressCb swig_types[0] 
#define  SWIGTYPE_GpgmeProgressCb swig_types[1] 
#define  SWIGTYPE_p_size_t swig_types[2] 
#define  SWIGTYPE_p_GpgmeIOCbs swig_types[3] 
#define  SWIGTYPE_p_GpgmeRecipients swig_types[4] 
#define  SWIGTYPE_GpgmeRecipients swig_types[5] 
#define  SWIGTYPE_GpgmeEditCb swig_types[6] 
#define  SWIGTYPE_p_time_t swig_types[7] 
#define  SWIGTYPE_p_GpgmeError swig_types[8] 
#define  SWIGTYPE_p_void swig_types[9] 
#define  SWIGTYPE_p_p_void swig_types[10] 
#define  SWIGTYPE_p_GpgmeData swig_types[11] 
#define  SWIGTYPE_GpgmeData swig_types[12] 
#define  SWIGTYPE_p_p_char swig_types[13] 
#define  SWIGTYPE_p_GpgmeKey swig_types[14] 
#define  SWIGTYPE_GpgmeKey swig_types[15] 
#define  SWIGTYPE_p_GpgmeSigStat swig_types[16] 
#define  SWIGTYPE_p_f_p_void_p_char_size_t_p_size_t__int swig_types[17] 
#define  SWIGTYPE_p_FILE swig_types[18] 
#define  SWIGTYPE_p_GpgmePassphraseCb swig_types[19] 
#define  SWIGTYPE_GpgmePassphraseCb swig_types[20] 
#define  SWIGTYPE_GpgmeIdleFunc swig_types[21] 
#define  SWIGTYPE_GpgmeRegisterIOCb swig_types[22] 
#define  SWIGTYPE_GpgmeRemoveIOCb swig_types[23] 
#define  SWIGTYPE_p_off_t swig_types[24] 
#define  SWIGTYPE_GpgmeCtx swig_types[25] 
#define  SWIGTYPE_p_GpgmeCtx swig_types[26] 
#define  SWIGTYPE_p_p_PyObject swig_types[27] 
#define  SWIGTYPE_p_PyObject swig_types[28] 
#define  SWIGTYPE_GpgmeTrustItem swig_types[29] 
#define  SWIGTYPE_p_GpgmeTrustItem swig_types[30] 
#define  SWIGTYPE_GpgmeEventIOCb swig_types[31] 
#define  SWIGTYPE_p_int swig_types[32] 
static swig_type_info *swig_types[34];

/* -------- TYPES TABLE (END) -------- */


/*-----------------------------------------------
              @(target):= _gpgme.so
  ------------------------------------------------*/
#define SWIG_init    init_gpgme

#define SWIG_name    "_gpgme"

#include <gpgme.h>


static GpgmeCtx *new_GpgmeCtx_p() { 
  return (GpgmeCtx *) calloc(1,sizeof(GpgmeCtx)); 
}

static GpgmeCtx *copy_GpgmeCtx_p(GpgmeCtx value) { 
  GpgmeCtx *self = (GpgmeCtx *) calloc(1,sizeof(GpgmeCtx));
  *self = value;
  return self; 
}

static void delete_GpgmeCtx_p(GpgmeCtx *self) { 
  if (self) free(self); 
}

static void GpgmeCtx_p_assign(GpgmeCtx *self, GpgmeCtx value) {
  *self = value;
}

static GpgmeCtx GpgmeCtx_p_value(GpgmeCtx *self) {
  return *self;
}


static GpgmeData *new_GpgmeData_p() { 
  return (GpgmeData *) calloc(1,sizeof(GpgmeData)); 
}

static GpgmeData *copy_GpgmeData_p(GpgmeData value) { 
  GpgmeData *self = (GpgmeData *) calloc(1,sizeof(GpgmeData));
  *self = value;
  return self; 
}

static void delete_GpgmeData_p(GpgmeData *self) { 
  if (self) free(self); 
}

static void GpgmeData_p_assign(GpgmeData *self, GpgmeData value) {
  *self = value;
}

static GpgmeData GpgmeData_p_value(GpgmeData *self) {
  return *self;
}


static GpgmeRecipients *new_GpgmeRecipients_p() { 
  return (GpgmeRecipients *) calloc(1,sizeof(GpgmeRecipients)); 
}

static GpgmeRecipients *copy_GpgmeRecipients_p(GpgmeRecipients value) { 
  GpgmeRecipients *self = (GpgmeRecipients *) calloc(1,sizeof(GpgmeRecipients));
  *self = value;
  return self; 
}

static void delete_GpgmeRecipients_p(GpgmeRecipients *self) { 
  if (self) free(self); 
}

static void GpgmeRecipients_p_assign(GpgmeRecipients *self, GpgmeRecipients value) {
  *self = value;
}

static GpgmeRecipients GpgmeRecipients_p_value(GpgmeRecipients *self) {
  return *self;
}


static GpgmeKey *new_GpgmeKey_p() { 
  return (GpgmeKey *) calloc(1,sizeof(GpgmeKey)); 
}

static GpgmeKey *copy_GpgmeKey_p(GpgmeKey value) { 
  GpgmeKey *self = (GpgmeKey *) calloc(1,sizeof(GpgmeKey));
  *self = value;
  return self; 
}

static void delete_GpgmeKey_p(GpgmeKey *self) { 
  if (self) free(self); 
}

static void GpgmeKey_p_assign(GpgmeKey *self, GpgmeKey value) {
  *self = value;
}

static GpgmeKey GpgmeKey_p_value(GpgmeKey *self) {
  return *self;
}


static GpgmeTrustItem *new_GpgmeTrustItem_p() { 
  return (GpgmeTrustItem *) calloc(1,sizeof(GpgmeTrustItem)); 
}

static GpgmeTrustItem *copy_GpgmeTrustItem_p(GpgmeTrustItem value) { 
  GpgmeTrustItem *self = (GpgmeTrustItem *) calloc(1,sizeof(GpgmeTrustItem));
  *self = value;
  return self; 
}

static void delete_GpgmeTrustItem_p(GpgmeTrustItem *self) { 
  if (self) free(self); 
}

static void GpgmeTrustItem_p_assign(GpgmeTrustItem *self, GpgmeTrustItem value) {
  *self = value;
}

static GpgmeTrustItem GpgmeTrustItem_p_value(GpgmeTrustItem *self) {
  return *self;
}


static PyObject * *new_PyObject_p_p() { 
  return (PyObject * *) calloc(1,sizeof(PyObject *)); 
}

static PyObject * *copy_PyObject_p_p(PyObject * value) { 
  PyObject * *self = (PyObject * *) calloc(1,sizeof(PyObject *));
  *self = value;
  return self; 
}

static void delete_PyObject_p_p(PyObject * *self) { 
  if (self) free(self); 
}

static void PyObject_p_p_assign(PyObject * *self, PyObject * value) {
  *self = value;
}

static PyObject * PyObject_p_p_value(PyObject * *self) {
  return *self;
}


static void * *new_void_p_p() { 
  return (void * *) calloc(1,sizeof(void *)); 
}

static void * *copy_void_p_p(void * value) { 
  void * *self = (void * *) calloc(1,sizeof(void *));
  *self = value;
  return self; 
}

static void delete_void_p_p(void * *self) { 
  if (self) free(self); 
}

static void void_p_p_assign(void * *self, void * value) {
  *self = value;
}

static void * void_p_p_value(void * *self) {
  return *self;
}


#include <stdio.h>


#include "helpers.h"


static PyObject* t_output_helper(PyObject* target, PyObject* o) {
    PyObject*   o2;
    PyObject*   o3;

    if (!target) {                   
        target = o;
    } else if (target == Py_None) {  
        Py_DECREF(Py_None);
        target = o;
    } else {                         
        if (!PyTuple_Check(target)) {
            o2 = target;
            target = PyTuple_New(1);
            PyTuple_SetItem(target, 0, o2);
        }
        o3 = PyTuple_New(1);            
        PyTuple_SetItem(o3, 0, o);      

        o2 = target;
        target = PySequence_Concat(o2, o3); 
        Py_DECREF(o2);                      
        Py_DECREF(o3);
    }
    return target;
}

#ifdef __cplusplus
extern "C" {
#endif
static PyObject *_wrap_gpgme_new(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx *arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_new",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_new(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_release(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_release",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_release(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_get_notation(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    char *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_get_notation",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (char *)gpgme_get_notation(arg1);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    free(result);
    return resultobj;
}


static PyObject *_wrap_gpgme_set_protocol(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int arg2 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"Oi:gpgme_set_protocol",&obj0,&arg2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_set_protocol(arg1,(GpgmeProtocol )arg2);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_get_protocol(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_get_protocol",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_get_protocol(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_set_armor(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int arg2 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"Oi:gpgme_set_armor",&obj0,&arg2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_set_armor(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_get_armor(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_get_armor",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_get_armor(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_set_textmode(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int arg2 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"Oi:gpgme_set_textmode",&obj0,&arg2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_set_textmode(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_get_textmode(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_get_textmode",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_get_textmode(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_set_include_certs(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int arg2 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"Oi:gpgme_set_include_certs",&obj0,&arg2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_set_include_certs(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_get_include_certs(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_get_include_certs",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_get_include_certs(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_set_keylist_mode(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int arg2 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"Oi:gpgme_set_keylist_mode",&obj0,&arg2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_set_keylist_mode(arg1,arg2);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_get_keylist_mode(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_get_keylist_mode",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_get_keylist_mode(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_set_passphrase_cb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmePassphraseCb arg2 ;
    void *arg3 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_set_passphrase_cb",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmePassphraseCb,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_set_passphrase_cb(arg1,arg2,arg3);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_get_passphrase_cb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmePassphraseCb *arg2 ;
    void **arg3 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_get_passphrase_cb",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_GpgmePassphraseCb,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_p_void,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_get_passphrase_cb(arg1,arg2,arg3);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_set_progress_cb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeProgressCb arg2 ;
    void *arg3 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_set_progress_cb",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeProgressCb,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_set_progress_cb(arg1,arg2,arg3);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_get_progress_cb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeProgressCb *arg2 ;
    void **arg3 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_get_progress_cb",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_GpgmeProgressCb,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_p_void,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_get_progress_cb(arg1,arg2,arg3);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_signers_clear(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_signers_clear",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_signers_clear(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_signers_add(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeKey arg2 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_signers_add",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_signers_add(arg1,arg2);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_signers_enum(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int arg2 ;
    GpgmeKey result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"Oi:gpgme_signers_enum",&obj0,&arg2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeKey)gpgme_signers_enum(arg1,arg2);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_GpgmeKey, 0);
    return resultobj;
}


static PyObject *_wrap_gpgme_get_sig_status(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int arg2 ;
    GpgmeSigStat *arg3 ;
    time_t *arg4 ;
    char *result;
    PyObject * obj0  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OiOO:gpgme_get_sig_status",&obj0,&arg2,&obj2,&obj3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_GpgmeSigStat,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_time_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (char *)gpgme_get_sig_status(arg1,arg2,arg3,arg4);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    return resultobj;
}


static PyObject *_wrap_gpgme_get_sig_ulong_attr(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    unsigned long result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"Oiii:gpgme_get_sig_ulong_attr",&obj0,&arg2,&arg3,&arg4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (unsigned long)gpgme_get_sig_ulong_attr(arg1,arg2,(GpgmeAttr )arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_get_sig_string_attr(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    char *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"Oiii:gpgme_get_sig_string_attr",&obj0,&arg2,&arg3,&arg4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (char *)gpgme_get_sig_string_attr(arg1,arg2,(GpgmeAttr )arg3,arg4);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    return resultobj;
}


static PyObject *_wrap_gpgme_get_sig_key(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int arg2 ;
    GpgmeKey *arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OiO:gpgme_get_sig_key",&obj0,&arg2,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_get_sig_key(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_get_op_info(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int arg2 ;
    char *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"Oi:gpgme_get_op_info",&obj0,&arg2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (char *)gpgme_get_op_info(arg1,arg2);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    free(result);
    return resultobj;
}


static PyObject *_wrap_GpgmeIOCbs_add_set(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *arg1 ;
    GpgmeRegisterIOCb arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:GpgmeIOCbs_add_set",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeRegisterIOCb,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if (arg1) (arg1)->add = arg2;
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeIOCbs_add_get(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *arg1 ;
    GpgmeRegisterIOCb result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:GpgmeIOCbs_add_get",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeRegisterIOCb) ((arg1)->add);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_GpgmeRegisterIOCb, 0);
    return resultobj;
}


static PyObject *_wrap_GpgmeIOCbs_add_priv_set(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *arg1 ;
    void *arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:GpgmeIOCbs_add_priv_set",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, 0, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN )) == -1) return NULL;
    if (arg1) (arg1)->add_priv = arg2;
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeIOCbs_add_priv_get(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *arg1 ;
    void *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:GpgmeIOCbs_add_priv_get",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (void *) ((arg1)->add_priv);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_void, 0);
    return resultobj;
}


static PyObject *_wrap_GpgmeIOCbs_remove_set(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *arg1 ;
    GpgmeRemoveIOCb arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:GpgmeIOCbs_remove_set",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeRemoveIOCb,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if (arg1) (arg1)->remove = arg2;
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeIOCbs_remove_get(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *arg1 ;
    GpgmeRemoveIOCb result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:GpgmeIOCbs_remove_get",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeRemoveIOCb) ((arg1)->remove);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_GpgmeRemoveIOCb, 0);
    return resultobj;
}


static PyObject *_wrap_GpgmeIOCbs_event_set(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *arg1 ;
    GpgmeEventIOCb arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:GpgmeIOCbs_event_set",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeEventIOCb,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if (arg1) (arg1)->event = arg2;
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeIOCbs_event_get(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *arg1 ;
    GpgmeEventIOCb result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:GpgmeIOCbs_event_get",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeEventIOCb) ((arg1)->event);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_GpgmeEventIOCb, 0);
    return resultobj;
}


static PyObject *_wrap_GpgmeIOCbs_event_priv_set(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *arg1 ;
    void *arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:GpgmeIOCbs_event_priv_set",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, 0, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN )) == -1) return NULL;
    if (arg1) (arg1)->event_priv = arg2;
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeIOCbs_event_priv_get(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *arg1 ;
    void *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:GpgmeIOCbs_event_priv_get",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (void *) ((arg1)->event_priv);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_void, 0);
    return resultobj;
}


static PyObject *_wrap_new_GpgmeIOCbs(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *result;
    
    if(!PyArg_ParseTuple(args,(char *)":new_GpgmeIOCbs")) return NULL;
    result = (struct GpgmeIOCbs *)(struct GpgmeIOCbs *) calloc(1, sizeof(struct GpgmeIOCbs));
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_GpgmeIOCbs, 1);
    return resultobj;
}


static PyObject *_wrap_delete_GpgmeIOCbs(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    struct GpgmeIOCbs *arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:delete_GpgmeIOCbs",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    free((char *) arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject * GpgmeIOCbs_swigregister(PyObject *self, PyObject *args) {
    PyObject *obj;
    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
    SWIG_TypeClientData(SWIGTYPE_p_GpgmeIOCbs, obj);
    Py_INCREF(obj);
    return Py_BuildValue((char *)"");
}
static PyObject *_wrap_gpgme_set_io_cbs(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    struct GpgmeIOCbs *arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_set_io_cbs",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_set_io_cbs(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_get_io_cbs(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    struct GpgmeIOCbs *arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_get_io_cbs",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_GpgmeIOCbs,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_get_io_cbs(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_cancel(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_cancel",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_cancel(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_wait(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeError *arg2 ;
    int arg3 ;
    GpgmeCtx result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOi:gpgme_wait",&obj0,&obj1,&arg3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_GpgmeError,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeCtx)gpgme_wait(arg1,arg2,arg3);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_GpgmeCtx, 0);
    return resultobj;
}


static PyObject *_wrap_gpgme_recipients_new(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients *arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_recipients_new",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_recipients_new(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_recipients_release(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_recipients_release",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_recipients_release(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_recipients_add_name(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients arg1 ;
    char *arg2 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_recipients_add_name",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    result = (int)gpgme_recipients_add_name(arg1,(char const *)arg2);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_recipients_add_name_with_validity(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients arg1 ;
    char *arg2 ;
    int arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOi:gpgme_recipients_add_name_with_validity",&obj0,&obj1,&arg3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    result = (int)gpgme_recipients_add_name_with_validity(arg1,(char const *)arg2,(GpgmeValidity )arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_recipients_count(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients arg1 ;
    unsigned int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_recipients_count",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (unsigned int)gpgme_recipients_count(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_recipients_enum_open(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients arg1 ;
    void **arg2 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_recipients_enum_open",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_p_void,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_recipients_enum_open(arg1,arg2);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_recipients_enum_read(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients arg1 ;
    void **arg2 ;
    char *result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_recipients_enum_read",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_p_void,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (char *)gpgme_recipients_enum_read(arg1,arg2);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    return resultobj;
}


static PyObject *_wrap_gpgme_recipients_enum_close(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients arg1 ;
    void **arg2 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_recipients_enum_close",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_p_void,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_recipients_enum_close(arg1,arg2);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_new(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData *arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_data_new",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_data_new(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_new_from_mem(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData *arg1 ;
    char *arg2 ;
    size_t arg3 ;
    int arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOi:gpgme_data_new_from_mem",&obj0,&obj1,&obj2,&arg4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    arg3 = (size_t) PyInt_AsLong(obj2);
    if (PyErr_Occurred()) return NULL;
    result = (int)gpgme_data_new_from_mem(arg1,(char const *)arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_new_with_read_cb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData *arg1 ;
    int (*arg2)(void *,char *,size_t,size_t *) ;
    void *arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_data_new_with_read_cb",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_f_p_void_p_char_size_t_p_size_t__int,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_data_new_with_read_cb(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_new_from_file(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData *arg1 ;
    char *arg2 ;
    int arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOi:gpgme_data_new_from_file",&obj0,&obj1,&arg3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    result = (int)gpgme_data_new_from_file(arg1,(char const *)arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_new_from_filepart(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData *arg1 ;
    char *arg2 ;
    FILE *arg3 ;
    off_t arg4 ;
    size_t arg5 ;
    int result;
    off_t *argp4 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    PyObject * obj4  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOOO:gpgme_data_new_from_filepart",&obj0,&obj1,&obj2,&obj3,&obj4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_FILE,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj3,(void **) &argp4, SWIGTYPE_p_off_t,SWIG_POINTER_EXCEPTION) == -1)) return NULL;
    arg4 = *argp4; 
    arg5 = (size_t) PyInt_AsLong(obj4);
    if (PyErr_Occurred()) return NULL;
    result = (int)gpgme_data_new_from_filepart(arg1,(char const *)arg2,arg3,arg4,arg5);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_release(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_data_release",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_data_release(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_data_release_and_get_mem(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData arg1 ;
    size_t *arg2 ;
    char *result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_data_release_and_get_mem",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_size_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (char *)gpgme_data_release_and_get_mem(arg1,arg2);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    free(result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_get_type(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_data_get_type",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_data_get_type(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_get_encoding(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_data_get_encoding",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_data_get_encoding(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_set_encoding(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData arg1 ;
    int arg2 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"Oi:gpgme_data_set_encoding",&obj0,&arg2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_data_set_encoding(arg1,(GpgmeDataEncoding )arg2);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_rewind(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_data_rewind",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_data_rewind(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_read(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData arg1 ;
    void *arg2 ;
    size_t arg3 ;
    size_t *arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOO:gpgme_data_read",&obj0,&obj1,&obj2,&obj3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    arg3 = (size_t) PyInt_AsLong(obj2);
    if (PyErr_Occurred()) return NULL;
    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_size_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_data_read(arg1,arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_write(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData arg1 ;
    void *arg2 ;
    size_t arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_data_write",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        arg2 = (void *) PyString_AsString(obj1);
        arg3 = (size_t) PyString_Size(obj1);
    }
    result = (int)gpgme_data_write(arg1,(void const *)arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_key_ref(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeKey arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_key_ref",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_key_ref(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_key_unref(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeKey arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_key_unref",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_key_unref(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_key_release(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeKey arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_key_release",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_key_release(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_key_get_as_xml(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeKey arg1 ;
    char *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_key_get_as_xml",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (char *)gpgme_key_get_as_xml(arg1);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    free(result);
    return resultobj;
}


static PyObject *_wrap_gpgme_key_get_string_attr(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeKey arg1 ;
    int arg2 ;
    void *arg3 ;
    int arg4 ;
    char *result;
    PyObject * obj0  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OiOi:gpgme_key_get_string_attr",&obj0,&arg2,&obj2,&arg4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (char *)gpgme_key_get_string_attr(arg1,(GpgmeAttr )arg2,(void const *)arg3,arg4);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    return resultobj;
}


static PyObject *_wrap_gpgme_key_get_ulong_attr(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeKey arg1 ;
    int arg2 ;
    void *arg3 ;
    int arg4 ;
    unsigned long result;
    PyObject * obj0  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OiOi:gpgme_key_get_ulong_attr",&obj0,&arg2,&obj2,&arg4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (unsigned long)gpgme_key_get_ulong_attr(arg1,(GpgmeAttr )arg2,(void const *)arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_trust_item_release(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeTrustItem arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_trust_item_release",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeTrustItem,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    gpgme_trust_item_release(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_gpgme_trust_item_get_string_attr(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeTrustItem arg1 ;
    int arg2 ;
    void *arg3 ;
    int arg4 ;
    char *result;
    PyObject * obj0  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OiOi:gpgme_trust_item_get_string_attr",&obj0,&arg2,&obj2,&arg4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeTrustItem,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (char *)gpgme_trust_item_get_string_attr(arg1,(GpgmeAttr )arg2,(void const *)arg3,arg4);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    return resultobj;
}


static PyObject *_wrap_gpgme_trust_item_get_int_attr(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeTrustItem arg1 ;
    int arg2 ;
    void *arg3 ;
    int arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OiOi:gpgme_trust_item_get_int_attr",&obj0,&arg2,&obj2,&arg4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeTrustItem,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_trust_item_get_int_attr(arg1,(GpgmeAttr )arg2,(void const *)arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_encrypt_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeRecipients arg2 ;
    GpgmeData arg3 ;
    GpgmeData arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOO:gpgme_op_encrypt_start",&obj0,&obj1,&obj2,&obj3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeRecipients") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeRecipients, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeRecipients",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeRecipients */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj3, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg4, but got %s",
            4,
            obj3 == Py_None ? "None" : obj3->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            4, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj3, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            4);
            return NULL;
        }
        
        /* input = obj3, 1 = arg4, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg4, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_encrypt_start(arg1,arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_encrypt(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeRecipients arg2 ;
    GpgmeData arg3 ;
    GpgmeData arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOO:gpgme_op_encrypt",&obj0,&obj1,&obj2,&obj3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeRecipients") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeRecipients, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeRecipients",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeRecipients */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj3, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg4, but got %s",
            4,
            obj3 == Py_None ? "None" : obj3->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            4, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj3, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            4);
            return NULL;
        }
        
        /* input = obj3, 1 = arg4, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg4, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_encrypt(arg1,arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_encrypt_sign_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeRecipients arg2 ;
    GpgmeData arg3 ;
    GpgmeData arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOO:gpgme_op_encrypt_sign_start",&obj0,&obj1,&obj2,&obj3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeRecipients") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeRecipients, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeRecipients",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeRecipients */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj3, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg4, but got %s",
            4,
            obj3 == Py_None ? "None" : obj3->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            4, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj3, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            4);
            return NULL;
        }
        
        /* input = obj3, 1 = arg4, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg4, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_encrypt_sign_start(arg1,arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_encrypt_sign(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeRecipients arg2 ;
    GpgmeData arg3 ;
    GpgmeData arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOO:gpgme_op_encrypt_sign",&obj0,&obj1,&obj2,&obj3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeRecipients") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeRecipients, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeRecipients",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeRecipients */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj3, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg4, but got %s",
            4,
            obj3 == Py_None ? "None" : obj3->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            4, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj3, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            4);
            return NULL;
        }
        
        /* input = obj3, 1 = arg4, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg4, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_encrypt_sign(arg1,arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_decrypt_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeData arg2 ;
    GpgmeData arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_op_decrypt_start",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_decrypt_start(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_decrypt(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeData arg2 ;
    GpgmeData arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_op_decrypt",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_decrypt(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_decrypt_verify_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeData arg2 ;
    GpgmeData arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_op_decrypt_verify_start",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_decrypt_verify_start(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_decrypt_verify(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeData arg2 ;
    GpgmeData arg3 ;
    GpgmeSigStat *arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOO:gpgme_op_decrypt_verify",&obj0,&obj1,&obj2,&obj3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_GpgmeSigStat,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_op_decrypt_verify(arg1,arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_sign_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeData arg2 ;
    GpgmeData arg3 ;
    int arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOi:gpgme_op_sign_start",&obj0,&obj1,&obj2,&arg4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_sign_start(arg1,arg2,arg3,(GpgmeSigMode )arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_sign(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeData arg2 ;
    GpgmeData arg3 ;
    int arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOi:gpgme_op_sign",&obj0,&obj1,&obj2,&arg4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_sign(arg1,arg2,arg3,(GpgmeSigMode )arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_verify_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeData arg2 ;
    GpgmeData arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_op_verify_start",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_verify_start(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_verify(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeData arg2 ;
    GpgmeData arg3 ;
    GpgmeSigStat *arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOO:gpgme_op_verify",&obj0,&obj1,&obj2,&obj3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_GpgmeSigStat,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_op_verify(arg1,arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_import_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeData arg2 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_op_import_start",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_import_start(arg1,arg2);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_import(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeData arg2 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_op_import",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_import(arg1,arg2);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_import_ext(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeData arg2 ;
    int *arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_op_import_ext",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_op_import_ext(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_export_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeRecipients arg2 ;
    GpgmeData arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_op_export_start",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeRecipients") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeRecipients, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeRecipients",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeRecipients */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_export_start(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_export(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeRecipients arg2 ;
    GpgmeData arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:gpgme_op_export",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj1, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg2, but got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeRecipients") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeRecipients, but got %s",
            2, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj1, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeRecipients",
            2);
            return NULL;
        }
        
        /* input = obj1, 1 = arg2, 1_descriptor = SWIGTYPE_GpgmeRecipients */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg2, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_export(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_genkey_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    char *arg2 ;
    GpgmeData arg3 ;
    GpgmeData arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOO:gpgme_op_genkey_start",&obj0,&obj1,&obj2,&obj3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj3, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg4, but got %s",
            4,
            obj3 == Py_None ? "None" : obj3->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            4, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj3, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            4);
            return NULL;
        }
        
        /* input = obj3, 1 = arg4, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg4, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_genkey_start(arg1,(char const *)arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_genkey(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    char *arg2 ;
    GpgmeData arg3 ;
    GpgmeData arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOO:gpgme_op_genkey",&obj0,&obj1,&obj2,&obj3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj2, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg3, but got %s",
            3,
            obj2 == Py_None ? "None" : obj2->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            3, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj2, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            3);
            return NULL;
        }
        
        /* input = obj2, 1 = arg3, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg3, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj3, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg4, but got %s",
            4,
            obj3 == Py_None ? "None" : obj3->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            4, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj3, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            4);
            return NULL;
        }
        
        /* input = obj3, 1 = arg4, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg4, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_genkey(arg1,(char const *)arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_delete_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeKey arg2 ;
    int arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOi:gpgme_op_delete_start",&obj0,&obj1,&arg3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_op_delete_start(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_delete(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeKey arg2 ;
    int arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOi:gpgme_op_delete",&obj0,&obj1,&arg3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_op_delete(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_edit_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeKey arg2 ;
    GpgmeEditCb arg3 ;
    void *arg4 ;
    GpgmeData arg5 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    PyObject * obj4  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOOO:gpgme_op_edit_start",&obj0,&obj1,&obj2,&obj3,&obj4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_GpgmeEditCb,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj4, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg5, but got %s",
            5,
            obj4 == Py_None ? "None" : obj4->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            5, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj4, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            5);
            return NULL;
        }
        
        /* input = obj4, 1 = arg5, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg5, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_edit_start(arg1,arg2,arg3,arg4,arg5);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_edit(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeKey arg2 ;
    GpgmeEditCb arg3 ;
    void *arg4 ;
    GpgmeData arg5 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    PyObject * obj4  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOOOO:gpgme_op_edit",&obj0,&obj1,&obj2,&obj3,&obj4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_GpgmeEditCb,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        PyObject *pyname = NULL, *pypointer = NULL;
        pyname = PyObject_CallMethod(obj4, "_getctype", NULL);
        if (pyname == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected an instance of type arg5, but got %s",
            5,
            obj4 == Py_None ? "None" : obj4->ob_type->tp_name);
            return NULL;
        }
        if (strcmp(PyString_AsString(pyname), "GpgmeData") != 0) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Expected value of type GpgmeData, but got %s",
            5, PyString_AsString(pyname));
            Py_DECREF(pyname);
            return NULL;
        }
        Py_DECREF(pyname);
        pypointer = PyObject_GetAttrString(obj4, "wrapped");
        if (pypointer == NULL) {
            PyErr_Format(PyExc_TypeError,
            "arg %d: Use of uninitialized Python object GpgmeData",
            5);
            return NULL;
        }
        
        /* input = obj4, 1 = arg5, 1_descriptor = SWIGTYPE_GpgmeData */
        
        // Following code is from swig's python.swg
        
        if ((SWIG_ConvertPtr(pypointer,(void **) &arg5, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) {
            Py_DECREF(pypointer);
            return NULL;
        }
        Py_DECREF(pypointer);
    }
    result = (int)gpgme_op_edit(arg1,arg2,arg3,arg4,arg5);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_keylist_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    char *arg2 ;
    int arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOi:gpgme_op_keylist_start",&obj0,&obj1,&arg3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    result = (int)gpgme_op_keylist_start(arg1,(char const *)arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_keylist_ext_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    char **arg2 ;
    int arg3 ;
    int arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOii:gpgme_op_keylist_ext_start",&obj0,&obj1,&arg3,&arg4)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_p_char,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_op_keylist_ext_start(arg1,(char const *(*))arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_keylist_next(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeKey *arg2 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_op_keylist_next",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_op_keylist_next(arg1,arg2);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_keylist_end(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_op_keylist_end",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_op_keylist_end(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_trustlist_start(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    char *arg2 ;
    int arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOi:gpgme_op_trustlist_start",&obj0,&obj1,&arg3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    result = (int)gpgme_op_trustlist_start(arg1,(char const *)arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_trustlist_next(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeTrustItem *arg2 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_op_trustlist_next",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_GpgmeTrustItem,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_op_trustlist_next(arg1,arg2);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_op_trustlist_end(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    int result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_op_trustlist_end",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)gpgme_op_trustlist_end(arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_check_version(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    char *arg1 ;
    char *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_check_version",&obj0)) return NULL;
    {
        if (obj0 == Py_None)
        arg1 = NULL;
        else if (PyString_Check(obj0))
        arg1 = PyString_AsString(obj0);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            1,
            obj0 == Py_None ? "None" : obj0->ob_type->tp_name);
            return NULL;
        }
    }
    result = (char *)gpgme_check_version((char const *)arg1);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    return resultobj;
}


static PyObject *_wrap_gpgme_check_engine(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    int result;
    
    if(!PyArg_ParseTuple(args,(char *)":gpgme_check_engine")) return NULL;
    result = (int)gpgme_check_engine();
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_gpgme_get_engine_info(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    char *result;
    
    if(!PyArg_ParseTuple(args,(char *)":gpgme_get_engine_info")) return NULL;
    result = (char *)gpgme_get_engine_info();
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    return resultobj;
}


static PyObject *_wrap_gpgme_strerror(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    int arg1 ;
    char *result;
    
    if(!PyArg_ParseTuple(args,(char *)"i:gpgme_strerror",&arg1)) return NULL;
    result = (char *)gpgme_strerror((GpgmeError )arg1);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    return resultobj;
}


static PyObject *_wrap_gpgme_register_idle(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeIdleFunc arg1 ;
    GpgmeIdleFunc result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:gpgme_register_idle",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeIdleFunc,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeIdleFunc)gpgme_register_idle(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_GpgmeIdleFunc, 0);
    return resultobj;
}


static PyObject *_wrap_gpgme_engine_check_version(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    int arg1 ;
    int result;
    
    if(!PyArg_ParseTuple(args,(char *)"i:gpgme_engine_check_version",&arg1)) return NULL;
    result = (int)gpgme_engine_check_version((GpgmeProtocol )arg1);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_new_GpgmeCtx_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx *result;
    
    if(!PyArg_ParseTuple(args,(char *)":new_GpgmeCtx_p")) return NULL;
    result = (GpgmeCtx *)new_GpgmeCtx_p();
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_GpgmeCtx, 0);
    return resultobj;
}


static PyObject *_wrap_copy_GpgmeCtx_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    GpgmeCtx *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:copy_GpgmeCtx_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeCtx *)copy_GpgmeCtx_p(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_GpgmeCtx, 0);
    return resultobj;
}


static PyObject *_wrap_delete_GpgmeCtx_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx *arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:delete_GpgmeCtx_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    delete_GpgmeCtx_p(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeCtx_p_assign(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx *arg1 ;
    GpgmeCtx arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:GpgmeCtx_p_assign",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    GpgmeCtx_p_assign(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeCtx_p_value(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx *arg1 ;
    GpgmeCtx result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:GpgmeCtx_p_value",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeCtx)GpgmeCtx_p_value(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_GpgmeCtx, 0);
    return resultobj;
}


static PyObject *_wrap_new_GpgmeData_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData *result;
    
    if(!PyArg_ParseTuple(args,(char *)":new_GpgmeData_p")) return NULL;
    result = (GpgmeData *)new_GpgmeData_p();
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_GpgmeData, 0);
    return resultobj;
}


static PyObject *_wrap_copy_GpgmeData_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData arg1 ;
    GpgmeData *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:copy_GpgmeData_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeData *)copy_GpgmeData_p(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_GpgmeData, 0);
    return resultobj;
}


static PyObject *_wrap_delete_GpgmeData_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData *arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:delete_GpgmeData_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    delete_GpgmeData_p(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeData_p_assign(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData *arg1 ;
    GpgmeData arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:GpgmeData_p_assign",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    GpgmeData_p_assign(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeData_p_value(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData *arg1 ;
    GpgmeData result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:GpgmeData_p_value",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeData)GpgmeData_p_value(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_GpgmeData, 0);
    return resultobj;
}


static PyObject *_wrap_new_GpgmeRecipients_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients *result;
    
    if(!PyArg_ParseTuple(args,(char *)":new_GpgmeRecipients_p")) return NULL;
    result = (GpgmeRecipients *)new_GpgmeRecipients_p();
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_GpgmeRecipients, 0);
    return resultobj;
}


static PyObject *_wrap_copy_GpgmeRecipients_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients arg1 ;
    GpgmeRecipients *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:copy_GpgmeRecipients_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeRecipients *)copy_GpgmeRecipients_p(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_GpgmeRecipients, 0);
    return resultobj;
}


static PyObject *_wrap_delete_GpgmeRecipients_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients *arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:delete_GpgmeRecipients_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    delete_GpgmeRecipients_p(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeRecipients_p_assign(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients *arg1 ;
    GpgmeRecipients arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:GpgmeRecipients_p_assign",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    GpgmeRecipients_p_assign(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeRecipients_p_value(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeRecipients *arg1 ;
    GpgmeRecipients result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:GpgmeRecipients_p_value",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeRecipients,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeRecipients)GpgmeRecipients_p_value(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_GpgmeRecipients, 0);
    return resultobj;
}


static PyObject *_wrap_new_GpgmeKey_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeKey *result;
    
    if(!PyArg_ParseTuple(args,(char *)":new_GpgmeKey_p")) return NULL;
    result = (GpgmeKey *)new_GpgmeKey_p();
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_GpgmeKey, 0);
    return resultobj;
}


static PyObject *_wrap_copy_GpgmeKey_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeKey arg1 ;
    GpgmeKey *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:copy_GpgmeKey_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeKey *)copy_GpgmeKey_p(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_GpgmeKey, 0);
    return resultobj;
}


static PyObject *_wrap_delete_GpgmeKey_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeKey *arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:delete_GpgmeKey_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    delete_GpgmeKey_p(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeKey_p_assign(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeKey *arg1 ;
    GpgmeKey arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:GpgmeKey_p_assign",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    GpgmeKey_p_assign(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeKey_p_value(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeKey *arg1 ;
    GpgmeKey result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:GpgmeKey_p_value",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeKey,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeKey)GpgmeKey_p_value(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_GpgmeKey, 0);
    return resultobj;
}


static PyObject *_wrap_new_GpgmeTrustItem_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeTrustItem *result;
    
    if(!PyArg_ParseTuple(args,(char *)":new_GpgmeTrustItem_p")) return NULL;
    result = (GpgmeTrustItem *)new_GpgmeTrustItem_p();
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_GpgmeTrustItem, 0);
    return resultobj;
}


static PyObject *_wrap_copy_GpgmeTrustItem_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeTrustItem arg1 ;
    GpgmeTrustItem *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:copy_GpgmeTrustItem_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeTrustItem,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeTrustItem *)copy_GpgmeTrustItem_p(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_GpgmeTrustItem, 0);
    return resultobj;
}


static PyObject *_wrap_delete_GpgmeTrustItem_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeTrustItem *arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:delete_GpgmeTrustItem_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeTrustItem,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    delete_GpgmeTrustItem_p(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeTrustItem_p_assign(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeTrustItem *arg1 ;
    GpgmeTrustItem arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:GpgmeTrustItem_p_assign",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeTrustItem,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_GpgmeTrustItem,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    GpgmeTrustItem_p_assign(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_GpgmeTrustItem_p_value(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeTrustItem *arg1 ;
    GpgmeTrustItem result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:GpgmeTrustItem_p_value",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeTrustItem,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (GpgmeTrustItem)GpgmeTrustItem_p_value(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_GpgmeTrustItem, 0);
    return resultobj;
}


static PyObject *_wrap_new_PyObject_p_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    PyObject **result;
    
    if(!PyArg_ParseTuple(args,(char *)":new_PyObject_p_p")) return NULL;
    result = (PyObject **)new_PyObject_p_p();
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_p_PyObject, 0);
    return resultobj;
}


static PyObject *_wrap_copy_PyObject_p_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    PyObject *arg1 ;
    PyObject **result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:copy_PyObject_p_p",&obj0)) return NULL;
    arg1 = obj0;
    result = (PyObject **)copy_PyObject_p_p(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_p_PyObject, 0);
    return resultobj;
}


static PyObject *_wrap_delete_PyObject_p_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    PyObject **arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:delete_PyObject_p_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_p_PyObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    delete_PyObject_p_p(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_PyObject_p_p_assign(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    PyObject **arg1 ;
    PyObject *arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:PyObject_p_p_assign",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_p_PyObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    arg2 = obj1;
    PyObject_p_p_assign(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_PyObject_p_p_value(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    PyObject **arg1 ;
    PyObject *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:PyObject_p_p_value",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_p_PyObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (PyObject *)PyObject_p_p_value(arg1);
    
    resultobj = result;
    return resultobj;
}


static PyObject *_wrap_new_void_p_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    void **result;
    
    if(!PyArg_ParseTuple(args,(char *)":new_void_p_p")) return NULL;
    result = (void **)new_void_p_p();
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_p_void, 0);
    return resultobj;
}


static PyObject *_wrap_copy_void_p_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    void *arg1 ;
    void **result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:copy_void_p_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (void **)copy_void_p_p(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_p_void, 0);
    return resultobj;
}


static PyObject *_wrap_delete_void_p_p(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    void **arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:delete_void_p_p",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_p_void,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    delete_void_p_p(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_void_p_p_assign(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    void **arg1 ;
    void *arg2 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:void_p_p_assign",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_p_void,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    void_p_p_assign(arg1,arg2);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_void_p_p_value(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    void **arg1 ;
    void *result;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:void_p_p_value",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_p_void,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (void *)void_p_p_value(arg1);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_void, 0);
    return resultobj;
}


static PyObject *_wrap_fdopen(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    int arg1 ;
    char *arg2 ;
    FILE *result;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"iO:fdopen",&arg1,&obj1)) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    result = (FILE *)fdopen(arg1,(char const *)arg2);
    
    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_FILE, 0);
    return resultobj;
}


static PyObject *_wrap_gpgme_data_read_helper(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData arg1 ;
    char *arg2 ;
    size_t *arg3 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OO:gpgme_data_read_helper",&obj0,&obj1)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        int n = PyInt_AsLong(obj1);
        if (PyErr_Occurred()) return NULL;
        
        
        
        
        arg2 = (char *) malloc(n+1);
        arg3 = (size_t *) malloc(sizeof(char));
        
        *arg3 = n;
    }
    result = (int)gpgme_data_read_helper(arg1,arg2,arg3);
    
    resultobj = PyInt_FromLong((long)result);
    {
        PyObject *o;
        o = PyString_FromStringAndSize(arg2,*arg3);
        resultobj = t_output_helper(resultobj,o);
        
        
        
        
        free(arg2);
        free(arg3);
        
    }
    return resultobj;
}


static PyObject *_wrap_pygpgme_set_passphrase_cb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    PyObject *arg2 ;
    PyObject **arg3 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:pygpgme_set_passphrase_cb",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    arg2 = obj1;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_p_PyObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    pygpgme_set_passphrase_cb(arg1,arg2,arg3);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_pyPassphraseCb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    void *arg1 ;
    char *arg2 ;
    void **arg3 ;
    char *result;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:pyPassphraseCb",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_p_void,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (char *)pyPassphraseCb(arg1,(char const *)arg2,arg3);
    
    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
    return resultobj;
}


static PyObject *_wrap_pygpgme_clear_generic_cb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    PyObject **arg1 ;
    PyObject * obj0  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"O:pygpgme_clear_generic_cb",&obj0)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_p_PyObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    pygpgme_clear_generic_cb(arg1);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_pygpgme_set_progress_cb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeCtx arg1 ;
    PyObject *arg2 ;
    PyObject **arg3 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:pygpgme_set_progress_cb",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_GpgmeCtx,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    arg2 = obj1;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_p_PyObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    pygpgme_set_progress_cb(arg1,arg2,arg3);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_pyProgressCb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    void *arg1 ;
    char *arg2 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOiii:pyProgressCb",&obj0,&obj1,&arg3,&arg4,&arg5)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    {
        if (obj1 == Py_None)
        arg2 = NULL;
        else if (PyString_Check(obj1))
        arg2 = PyString_AsString(obj1);
        else {
            PyErr_Format(PyExc_TypeError,
            "arg %d: expected string or None, got %s",
            2,
            obj1 == Py_None ? "None" : obj1->ob_type->tp_name);
            return NULL;
        }
    }
    pyProgressCb(arg1,(char const *)arg2,arg3,arg4,arg5);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyObject *_wrap_pyReadCb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    void *arg1 ;
    char *arg2 ;
    size_t arg3 ;
    size_t *arg4 ;
    int result;
    PyObject * obj0  = 0 ;
    PyObject * obj2  = 0 ;
    PyObject * obj3  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OsOO:pyReadCb",&obj0,&arg2,&obj2,&obj3)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, 0, SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    arg3 = (size_t) PyInt_AsLong(obj2);
    if (PyErr_Occurred()) return NULL;
    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_size_t,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    result = (int)pyReadCb(arg1,arg2,arg3,arg4);
    
    resultobj = PyInt_FromLong((long)result);
    return resultobj;
}


static PyObject *_wrap_pygpgme_data_new_with_read_cb(PyObject *self, PyObject *args) {
    PyObject *resultobj;
    GpgmeData *arg1 ;
    PyObject *arg2 ;
    PyObject **arg3 ;
    PyObject * obj0  = 0 ;
    PyObject * obj1  = 0 ;
    PyObject * obj2  = 0 ;
    
    if(!PyArg_ParseTuple(args,(char *)"OOO:pygpgme_data_new_with_read_cb",&obj0,&obj1,&obj2)) return NULL;
    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GpgmeData,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    arg2 = obj1;
    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_p_PyObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) return NULL;
    pygpgme_data_new_with_read_cb(arg1,arg2,arg3);
    
    Py_INCREF(Py_None); resultobj = Py_None;
    return resultobj;
}


static PyMethodDef SwigMethods[] = {
	 { (char *)"gpgme_new", _wrap_gpgme_new, METH_VARARGS },
	 { (char *)"gpgme_release", _wrap_gpgme_release, METH_VARARGS },
	 { (char *)"gpgme_get_notation", _wrap_gpgme_get_notation, METH_VARARGS },
	 { (char *)"gpgme_set_protocol", _wrap_gpgme_set_protocol, METH_VARARGS },
	 { (char *)"gpgme_get_protocol", _wrap_gpgme_get_protocol, METH_VARARGS },
	 { (char *)"gpgme_set_armor", _wrap_gpgme_set_armor, METH_VARARGS },
	 { (char *)"gpgme_get_armor", _wrap_gpgme_get_armor, METH_VARARGS },
	 { (char *)"gpgme_set_textmode", _wrap_gpgme_set_textmode, METH_VARARGS },
	 { (char *)"gpgme_get_textmode", _wrap_gpgme_get_textmode, METH_VARARGS },
	 { (char *)"gpgme_set_include_certs", _wrap_gpgme_set_include_certs, METH_VARARGS },
	 { (char *)"gpgme_get_include_certs", _wrap_gpgme_get_include_certs, METH_VARARGS },
	 { (char *)"gpgme_set_keylist_mode", _wrap_gpgme_set_keylist_mode, METH_VARARGS },
	 { (char *)"gpgme_get_keylist_mode", _wrap_gpgme_get_keylist_mode, METH_VARARGS },
	 { (char *)"gpgme_set_passphrase_cb", _wrap_gpgme_set_passphrase_cb, METH_VARARGS },
	 { (char *)"gpgme_get_passphrase_cb", _wrap_gpgme_get_passphrase_cb, METH_VARARGS },
	 { (char *)"gpgme_set_progress_cb", _wrap_gpgme_set_progress_cb, METH_VARARGS },
	 { (char *)"gpgme_get_progress_cb", _wrap_gpgme_get_progress_cb, METH_VARARGS },
	 { (char *)"gpgme_signers_clear", _wrap_gpgme_signers_clear, METH_VARARGS },
	 { (char *)"gpgme_signers_add", _wrap_gpgme_signers_add, METH_VARARGS },
	 { (char *)"gpgme_signers_enum", _wrap_gpgme_signers_enum, METH_VARARGS },
	 { (char *)"gpgme_get_sig_status", _wrap_gpgme_get_sig_status, METH_VARARGS },
	 { (char *)"gpgme_get_sig_ulong_attr", _wrap_gpgme_get_sig_ulong_attr, METH_VARARGS },
	 { (char *)"gpgme_get_sig_string_attr", _wrap_gpgme_get_sig_string_attr, METH_VARARGS },
	 { (char *)"gpgme_get_sig_key", _wrap_gpgme_get_sig_key, METH_VARARGS },
	 { (char *)"gpgme_get_op_info", _wrap_gpgme_get_op_info, METH_VARARGS },
	 { (char *)"GpgmeIOCbs_add_set", _wrap_GpgmeIOCbs_add_set, METH_VARARGS },
	 { (char *)"GpgmeIOCbs_add_get", _wrap_GpgmeIOCbs_add_get, METH_VARARGS },
	 { (char *)"GpgmeIOCbs_add_priv_set", _wrap_GpgmeIOCbs_add_priv_set, METH_VARARGS },
	 { (char *)"GpgmeIOCbs_add_priv_get", _wrap_GpgmeIOCbs_add_priv_get, METH_VARARGS },
	 { (char *)"GpgmeIOCbs_remove_set", _wrap_GpgmeIOCbs_remove_set, METH_VARARGS },
	 { (char *)"GpgmeIOCbs_remove_get", _wrap_GpgmeIOCbs_remove_get, METH_VARARGS },
	 { (char *)"GpgmeIOCbs_event_set", _wrap_GpgmeIOCbs_event_set, METH_VARARGS },
	 { (char *)"GpgmeIOCbs_event_get", _wrap_GpgmeIOCbs_event_get, METH_VARARGS },
	 { (char *)"GpgmeIOCbs_event_priv_set", _wrap_GpgmeIOCbs_event_priv_set, METH_VARARGS },
	 { (char *)"GpgmeIOCbs_event_priv_get", _wrap_GpgmeIOCbs_event_priv_get, METH_VARARGS },
	 { (char *)"new_GpgmeIOCbs", _wrap_new_GpgmeIOCbs, METH_VARARGS },
	 { (char *)"delete_GpgmeIOCbs", _wrap_delete_GpgmeIOCbs, METH_VARARGS },
	 { (char *)"GpgmeIOCbs_swigregister", GpgmeIOCbs_swigregister, METH_VARARGS },
	 { (char *)"gpgme_set_io_cbs", _wrap_gpgme_set_io_cbs, METH_VARARGS },
	 { (char *)"gpgme_get_io_cbs", _wrap_gpgme_get_io_cbs, METH_VARARGS },
	 { (char *)"gpgme_cancel", _wrap_gpgme_cancel, METH_VARARGS },
	 { (char *)"gpgme_wait", _wrap_gpgme_wait, METH_VARARGS },
	 { (char *)"gpgme_recipients_new", _wrap_gpgme_recipients_new, METH_VARARGS },
	 { (char *)"gpgme_recipients_release", _wrap_gpgme_recipients_release, METH_VARARGS },
	 { (char *)"gpgme_recipients_add_name", _wrap_gpgme_recipients_add_name, METH_VARARGS },
	 { (char *)"gpgme_recipients_add_name_with_validity", _wrap_gpgme_recipients_add_name_with_validity, METH_VARARGS },
	 { (char *)"gpgme_recipients_count", _wrap_gpgme_recipients_count, METH_VARARGS },
	 { (char *)"gpgme_recipients_enum_open", _wrap_gpgme_recipients_enum_open, METH_VARARGS },
	 { (char *)"gpgme_recipients_enum_read", _wrap_gpgme_recipients_enum_read, METH_VARARGS },
	 { (char *)"gpgme_recipients_enum_close", _wrap_gpgme_recipients_enum_close, METH_VARARGS },
	 { (char *)"gpgme_data_new", _wrap_gpgme_data_new, METH_VARARGS },
	 { (char *)"gpgme_data_new_from_mem", _wrap_gpgme_data_new_from_mem, METH_VARARGS },
	 { (char *)"gpgme_data_new_with_read_cb", _wrap_gpgme_data_new_with_read_cb, METH_VARARGS },
	 { (char *)"gpgme_data_new_from_file", _wrap_gpgme_data_new_from_file, METH_VARARGS },
	 { (char *)"gpgme_data_new_from_filepart", _wrap_gpgme_data_new_from_filepart, METH_VARARGS },
	 { (char *)"gpgme_data_release", _wrap_gpgme_data_release, METH_VARARGS },
	 { (char *)"gpgme_data_release_and_get_mem", _wrap_gpgme_data_release_and_get_mem, METH_VARARGS },
	 { (char *)"gpgme_data_get_type", _wrap_gpgme_data_get_type, METH_VARARGS },
	 { (char *)"gpgme_data_get_encoding", _wrap_gpgme_data_get_encoding, METH_VARARGS },
	 { (char *)"gpgme_data_set_encoding", _wrap_gpgme_data_set_encoding, METH_VARARGS },
	 { (char *)"gpgme_data_rewind", _wrap_gpgme_data_rewind, METH_VARARGS },
	 { (char *)"gpgme_data_read", _wrap_gpgme_data_read, METH_VARARGS },
	 { (char *)"gpgme_data_write", _wrap_gpgme_data_write, METH_VARARGS },
	 { (char *)"gpgme_key_ref", _wrap_gpgme_key_ref, METH_VARARGS },
	 { (char *)"gpgme_key_unref", _wrap_gpgme_key_unref, METH_VARARGS },
	 { (char *)"gpgme_key_release", _wrap_gpgme_key_release, METH_VARARGS },
	 { (char *)"gpgme_key_get_as_xml", _wrap_gpgme_key_get_as_xml, METH_VARARGS },
	 { (char *)"gpgme_key_get_string_attr", _wrap_gpgme_key_get_string_attr, METH_VARARGS },
	 { (char *)"gpgme_key_get_ulong_attr", _wrap_gpgme_key_get_ulong_attr, METH_VARARGS },
	 { (char *)"gpgme_trust_item_release", _wrap_gpgme_trust_item_release, METH_VARARGS },
	 { (char *)"gpgme_trust_item_get_string_attr", _wrap_gpgme_trust_item_get_string_attr, METH_VARARGS },
	 { (char *)"gpgme_trust_item_get_int_attr", _wrap_gpgme_trust_item_get_int_attr, METH_VARARGS },
	 { (char *)"gpgme_op_encrypt_start", _wrap_gpgme_op_encrypt_start, METH_VARARGS },
	 { (char *)"gpgme_op_encrypt", _wrap_gpgme_op_encrypt, METH_VARARGS },
	 { (char *)"gpgme_op_encrypt_sign_start", _wrap_gpgme_op_encrypt_sign_start, METH_VARARGS },
	 { (char *)"gpgme_op_encrypt_sign", _wrap_gpgme_op_encrypt_sign, METH_VARARGS },
	 { (char *)"gpgme_op_decrypt_start", _wrap_gpgme_op_decrypt_start, METH_VARARGS },
	 { (char *)"gpgme_op_decrypt", _wrap_gpgme_op_decrypt, METH_VARARGS },
	 { (char *)"gpgme_op_decrypt_verify_start", _wrap_gpgme_op_decrypt_verify_start, METH_VARARGS },
	 { (char *)"gpgme_op_decrypt_verify", _wrap_gpgme_op_decrypt_verify, METH_VARARGS },
	 { (char *)"gpgme_op_sign_start", _wrap_gpgme_op_sign_start, METH_VARARGS },
	 { (char *)"gpgme_op_sign", _wrap_gpgme_op_sign, METH_VARARGS },
	 { (char *)"gpgme_op_verify_start", _wrap_gpgme_op_verify_start, METH_VARARGS },
	 { (char *)"gpgme_op_verify", _wrap_gpgme_op_verify, METH_VARARGS },
	 { (char *)"gpgme_op_import_start", _wrap_gpgme_op_import_start, METH_VARARGS },
	 { (char *)"gpgme_op_import", _wrap_gpgme_op_import, METH_VARARGS },
	 { (char *)"gpgme_op_import_ext", _wrap_gpgme_op_import_ext, METH_VARARGS },
	 { (char *)"gpgme_op_export_start", _wrap_gpgme_op_export_start, METH_VARARGS },
	 { (char *)"gpgme_op_export", _wrap_gpgme_op_export, METH_VARARGS },
	 { (char *)"gpgme_op_genkey_start", _wrap_gpgme_op_genkey_start, METH_VARARGS },
	 { (char *)"gpgme_op_genkey", _wrap_gpgme_op_genkey, METH_VARARGS },
	 { (char *)"gpgme_op_delete_start", _wrap_gpgme_op_delete_start, METH_VARARGS },
	 { (char *)"gpgme_op_delete", _wrap_gpgme_op_delete, METH_VARARGS },
	 { (char *)"gpgme_op_edit_start", _wrap_gpgme_op_edit_start, METH_VARARGS },
	 { (char *)"gpgme_op_edit", _wrap_gpgme_op_edit, METH_VARARGS },
	 { (char *)"gpgme_op_keylist_start", _wrap_gpgme_op_keylist_start, METH_VARARGS },
	 { (char *)"gpgme_op_keylist_ext_start", _wrap_gpgme_op_keylist_ext_start, METH_VARARGS },
	 { (char *)"gpgme_op_keylist_next", _wrap_gpgme_op_keylist_next, METH_VARARGS },
	 { (char *)"gpgme_op_keylist_end", _wrap_gpgme_op_keylist_end, METH_VARARGS },
	 { (char *)"gpgme_op_trustlist_start", _wrap_gpgme_op_trustlist_start, METH_VARARGS },
	 { (char *)"gpgme_op_trustlist_next", _wrap_gpgme_op_trustlist_next, METH_VARARGS },
	 { (char *)"gpgme_op_trustlist_end", _wrap_gpgme_op_trustlist_end, METH_VARARGS },
	 { (char *)"gpgme_check_version", _wrap_gpgme_check_version, METH_VARARGS },
	 { (char *)"gpgme_check_engine", _wrap_gpgme_check_engine, METH_VARARGS },
	 { (char *)"gpgme_get_engine_info", _wrap_gpgme_get_engine_info, METH_VARARGS },
	 { (char *)"gpgme_strerror", _wrap_gpgme_strerror, METH_VARARGS },
	 { (char *)"gpgme_register_idle", _wrap_gpgme_register_idle, METH_VARARGS },
	 { (char *)"gpgme_engine_check_version", _wrap_gpgme_engine_check_version, METH_VARARGS },
	 { (char *)"new_GpgmeCtx_p", _wrap_new_GpgmeCtx_p, METH_VARARGS },
	 { (char *)"copy_GpgmeCtx_p", _wrap_copy_GpgmeCtx_p, METH_VARARGS },
	 { (char *)"delete_GpgmeCtx_p", _wrap_delete_GpgmeCtx_p, METH_VARARGS },
	 { (char *)"GpgmeCtx_p_assign", _wrap_GpgmeCtx_p_assign, METH_VARARGS },
	 { (char *)"GpgmeCtx_p_value", _wrap_GpgmeCtx_p_value, METH_VARARGS },
	 { (char *)"new_GpgmeData_p", _wrap_new_GpgmeData_p, METH_VARARGS },
	 { (char *)"copy_GpgmeData_p", _wrap_copy_GpgmeData_p, METH_VARARGS },
	 { (char *)"delete_GpgmeData_p", _wrap_delete_GpgmeData_p, METH_VARARGS },
	 { (char *)"GpgmeData_p_assign", _wrap_GpgmeData_p_assign, METH_VARARGS },
	 { (char *)"GpgmeData_p_value", _wrap_GpgmeData_p_value, METH_VARARGS },
	 { (char *)"new_GpgmeRecipients_p", _wrap_new_GpgmeRecipients_p, METH_VARARGS },
	 { (char *)"copy_GpgmeRecipients_p", _wrap_copy_GpgmeRecipients_p, METH_VARARGS },
	 { (char *)"delete_GpgmeRecipients_p", _wrap_delete_GpgmeRecipients_p, METH_VARARGS },
	 { (char *)"GpgmeRecipients_p_assign", _wrap_GpgmeRecipients_p_assign, METH_VARARGS },
	 { (char *)"GpgmeRecipients_p_value", _wrap_GpgmeRecipients_p_value, METH_VARARGS },
	 { (char *)"new_GpgmeKey_p", _wrap_new_GpgmeKey_p, METH_VARARGS },
	 { (char *)"copy_GpgmeKey_p", _wrap_copy_GpgmeKey_p, METH_VARARGS },
	 { (char *)"delete_GpgmeKey_p", _wrap_delete_GpgmeKey_p, METH_VARARGS },
	 { (char *)"GpgmeKey_p_assign", _wrap_GpgmeKey_p_assign, METH_VARARGS },
	 { (char *)"GpgmeKey_p_value", _wrap_GpgmeKey_p_value, METH_VARARGS },
	 { (char *)"new_GpgmeTrustItem_p", _wrap_new_GpgmeTrustItem_p, METH_VARARGS },
	 { (char *)"copy_GpgmeTrustItem_p", _wrap_copy_GpgmeTrustItem_p, METH_VARARGS },
	 { (char *)"delete_GpgmeTrustItem_p", _wrap_delete_GpgmeTrustItem_p, METH_VARARGS },
	 { (char *)"GpgmeTrustItem_p_assign", _wrap_GpgmeTrustItem_p_assign, METH_VARARGS },
	 { (char *)"GpgmeTrustItem_p_value", _wrap_GpgmeTrustItem_p_value, METH_VARARGS },
	 { (char *)"new_PyObject_p_p", _wrap_new_PyObject_p_p, METH_VARARGS },
	 { (char *)"copy_PyObject_p_p", _wrap_copy_PyObject_p_p, METH_VARARGS },
	 { (char *)"delete_PyObject_p_p", _wrap_delete_PyObject_p_p, METH_VARARGS },
	 { (char *)"PyObject_p_p_assign", _wrap_PyObject_p_p_assign, METH_VARARGS },
	 { (char *)"PyObject_p_p_value", _wrap_PyObject_p_p_value, METH_VARARGS },
	 { (char *)"new_void_p_p", _wrap_new_void_p_p, METH_VARARGS },
	 { (char *)"copy_void_p_p", _wrap_copy_void_p_p, METH_VARARGS },
	 { (char *)"delete_void_p_p", _wrap_delete_void_p_p, METH_VARARGS },
	 { (char *)"void_p_p_assign", _wrap_void_p_p_assign, METH_VARARGS },
	 { (char *)"void_p_p_value", _wrap_void_p_p_value, METH_VARARGS },
	 { (char *)"fdopen", _wrap_fdopen, METH_VARARGS },
	 { (char *)"gpgme_data_read_helper", _wrap_gpgme_data_read_helper, METH_VARARGS },
	 { (char *)"pygpgme_set_passphrase_cb", _wrap_pygpgme_set_passphrase_cb, METH_VARARGS },
	 { (char *)"pyPassphraseCb", _wrap_pyPassphraseCb, METH_VARARGS },
	 { (char *)"pygpgme_clear_generic_cb", _wrap_pygpgme_clear_generic_cb, METH_VARARGS },
	 { (char *)"pygpgme_set_progress_cb", _wrap_pygpgme_set_progress_cb, METH_VARARGS },
	 { (char *)"pyProgressCb", _wrap_pyProgressCb, METH_VARARGS },
	 { (char *)"pyReadCb", _wrap_pyReadCb, METH_VARARGS },
	 { (char *)"pygpgme_data_new_with_read_cb", _wrap_pygpgme_data_new_with_read_cb, METH_VARARGS },
	 { NULL, NULL }
};


/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */

static swig_type_info _swigt__p_GpgmeProgressCb[] = {{"_p_GpgmeProgressCb", 0, "GpgmeProgressCb *", 0},{"_p_GpgmeProgressCb"},{0}};
static swig_type_info _swigt__GpgmeProgressCb[] = {{"_GpgmeProgressCb", 0, "GpgmeProgressCb", 0},{"_GpgmeProgressCb"},{0}};
static swig_type_info _swigt__p_size_t[] = {{"_p_size_t", 0, "size_t *", 0},{"_p_size_t"},{0}};
static swig_type_info _swigt__p_GpgmeIOCbs[] = {{"_p_GpgmeIOCbs", 0, "struct GpgmeIOCbs *", 0},{"_p_GpgmeIOCbs"},{0}};
static swig_type_info _swigt__p_GpgmeRecipients[] = {{"_p_GpgmeRecipients", 0, "GpgmeRecipients *", 0},{"_p_GpgmeRecipients"},{0}};
static swig_type_info _swigt__GpgmeRecipients[] = {{"_GpgmeRecipients", 0, "GpgmeRecipients", 0},{"_GpgmeRecipients"},{0}};
static swig_type_info _swigt__GpgmeEditCb[] = {{"_GpgmeEditCb", 0, "GpgmeEditCb", 0},{"_GpgmeEditCb"},{0}};
static swig_type_info _swigt__p_time_t[] = {{"_p_time_t", 0, "time_t *", 0},{"_p_time_t"},{0}};
static swig_type_info _swigt__p_GpgmeError[] = {{"_p_GpgmeError", 0, "GpgmeError *", 0},{"_p_GpgmeError"},{0}};
static swig_type_info _swigt__p_void[] = {{"_p_void", 0, "void *", 0},{"_p_void"},{0}};
static swig_type_info _swigt__p_p_void[] = {{"_p_p_void", 0, "void **", 0},{"_p_p_void"},{0}};
static swig_type_info _swigt__p_GpgmeData[] = {{"_p_GpgmeData", 0, "GpgmeData *", 0},{"_p_GpgmeData"},{0}};
static swig_type_info _swigt__GpgmeData[] = {{"_GpgmeData", 0, "GpgmeData", 0},{"_GpgmeData"},{0}};
static swig_type_info _swigt__p_p_char[] = {{"_p_p_char", 0, "char **", 0},{"_p_p_char"},{0}};
static swig_type_info _swigt__p_GpgmeKey[] = {{"_p_GpgmeKey", 0, "GpgmeKey *", 0},{"_p_GpgmeKey"},{0}};
static swig_type_info _swigt__GpgmeKey[] = {{"_GpgmeKey", 0, "GpgmeKey", 0},{"_GpgmeKey"},{0}};
static swig_type_info _swigt__p_GpgmeSigStat[] = {{"_p_GpgmeSigStat", 0, "GpgmeSigStat *", 0},{"_p_GpgmeSigStat"},{0}};
static swig_type_info _swigt__p_f_p_void_p_char_size_t_p_size_t__int[] = {{"_p_f_p_void_p_char_size_t_p_size_t__int", 0, "int (*)(void *,char *,size_t,size_t *)", 0},{"_p_f_p_void_p_char_size_t_p_size_t__int"},{0}};
static swig_type_info _swigt__p_FILE[] = {{"_p_FILE", 0, "FILE *", 0},{"_p_FILE"},{0}};
static swig_type_info _swigt__p_GpgmePassphraseCb[] = {{"_p_GpgmePassphraseCb", 0, "GpgmePassphraseCb *", 0},{"_p_GpgmePassphraseCb"},{0}};
static swig_type_info _swigt__GpgmePassphraseCb[] = {{"_GpgmePassphraseCb", 0, "GpgmePassphraseCb", 0},{"_GpgmePassphraseCb"},{0}};
static swig_type_info _swigt__GpgmeIdleFunc[] = {{"_GpgmeIdleFunc", 0, "GpgmeIdleFunc", 0},{"_GpgmeIdleFunc"},{0}};
static swig_type_info _swigt__GpgmeRegisterIOCb[] = {{"_GpgmeRegisterIOCb", 0, "GpgmeRegisterIOCb", 0},{"_GpgmeRegisterIOCb"},{0}};
static swig_type_info _swigt__GpgmeRemoveIOCb[] = {{"_GpgmeRemoveIOCb", 0, "GpgmeRemoveIOCb", 0},{"_GpgmeRemoveIOCb"},{0}};
static swig_type_info _swigt__p_off_t[] = {{"_p_off_t", 0, "off_t *", 0},{"_p_off_t"},{0}};
static swig_type_info _swigt__GpgmeCtx[] = {{"_GpgmeCtx", 0, "GpgmeCtx", 0},{"_GpgmeCtx"},{0}};
static swig_type_info _swigt__p_GpgmeCtx[] = {{"_p_GpgmeCtx", 0, "GpgmeCtx *", 0},{"_p_GpgmeCtx"},{0}};
static swig_type_info _swigt__p_p_PyObject[] = {{"_p_p_PyObject", 0, "PyObject **", 0},{"_p_p_PyObject"},{0}};
static swig_type_info _swigt__p_PyObject[] = {{"_p_PyObject", 0, "PyObject *", 0},{"_p_PyObject"},{0}};
static swig_type_info _swigt__GpgmeTrustItem[] = {{"_GpgmeTrustItem", 0, "GpgmeTrustItem", 0},{"_GpgmeTrustItem"},{0}};
static swig_type_info _swigt__p_GpgmeTrustItem[] = {{"_p_GpgmeTrustItem", 0, "GpgmeTrustItem *", 0},{"_p_GpgmeTrustItem"},{0}};
static swig_type_info _swigt__GpgmeEventIOCb[] = {{"_GpgmeEventIOCb", 0, "GpgmeEventIOCb", 0},{"_GpgmeEventIOCb"},{0}};
static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0},{"_p_int"},{0}};

static swig_type_info *swig_types_initial[] = {
_swigt__p_GpgmeProgressCb, 
_swigt__GpgmeProgressCb, 
_swigt__p_size_t, 
_swigt__p_GpgmeIOCbs, 
_swigt__p_GpgmeRecipients, 
_swigt__GpgmeRecipients, 
_swigt__GpgmeEditCb, 
_swigt__p_time_t, 
_swigt__p_GpgmeError, 
_swigt__p_void, 
_swigt__p_p_void, 
_swigt__p_GpgmeData, 
_swigt__GpgmeData, 
_swigt__p_p_char, 
_swigt__p_GpgmeKey, 
_swigt__GpgmeKey, 
_swigt__p_GpgmeSigStat, 
_swigt__p_f_p_void_p_char_size_t_p_size_t__int, 
_swigt__p_FILE, 
_swigt__p_GpgmePassphraseCb, 
_swigt__GpgmePassphraseCb, 
_swigt__GpgmeIdleFunc, 
_swigt__GpgmeRegisterIOCb, 
_swigt__GpgmeRemoveIOCb, 
_swigt__p_off_t, 
_swigt__GpgmeCtx, 
_swigt__p_GpgmeCtx, 
_swigt__p_p_PyObject, 
_swigt__p_PyObject, 
_swigt__GpgmeTrustItem, 
_swigt__p_GpgmeTrustItem, 
_swigt__GpgmeEventIOCb, 
_swigt__p_int, 
0
};


/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */

static swig_const_info swig_const_table[] = {
{ SWIG_PY_STRING,  (char*)"GPGME_VERSION", 0, 0, (void *)"0.3.12", 0},
{ SWIG_PY_INT,     (char *)"GPGME_EOF", (long) GPGME_EOF, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_No_Error", (long) GPGME_No_Error, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_General_Error", (long) GPGME_General_Error, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Out_Of_Core", (long) GPGME_Out_Of_Core, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Invalid_Value", (long) GPGME_Invalid_Value, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Busy", (long) GPGME_Busy, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_No_Request", (long) GPGME_No_Request, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Exec_Error", (long) GPGME_Exec_Error, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Too_Many_Procs", (long) GPGME_Too_Many_Procs, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Pipe_Error", (long) GPGME_Pipe_Error, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_No_Recipients", (long) GPGME_No_Recipients, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_No_Data", (long) GPGME_No_Data, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Conflict", (long) GPGME_Conflict, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Not_Implemented", (long) GPGME_Not_Implemented, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Read_Error", (long) GPGME_Read_Error, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Write_Error", (long) GPGME_Write_Error, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Invalid_Type", (long) GPGME_Invalid_Type, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Invalid_Mode", (long) GPGME_Invalid_Mode, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_File_Error", (long) GPGME_File_Error, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Decryption_Failed", (long) GPGME_Decryption_Failed, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_No_Passphrase", (long) GPGME_No_Passphrase, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Canceled", (long) GPGME_Canceled, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Invalid_Key", (long) GPGME_Invalid_Key, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Invalid_Engine", (long) GPGME_Invalid_Engine, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_Invalid_Recipients", (long) GPGME_Invalid_Recipients, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_DATA_TYPE_NONE", (long) GPGME_DATA_TYPE_NONE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_DATA_TYPE_MEM", (long) GPGME_DATA_TYPE_MEM, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_DATA_TYPE_FD", (long) GPGME_DATA_TYPE_FD, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_DATA_TYPE_FILE", (long) GPGME_DATA_TYPE_FILE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_DATA_TYPE_CB", (long) GPGME_DATA_TYPE_CB, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_DATA_ENCODING_NONE", (long) GPGME_DATA_ENCODING_NONE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_DATA_ENCODING_BINARY", (long) GPGME_DATA_ENCODING_BINARY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_DATA_ENCODING_BASE64", (long) GPGME_DATA_ENCODING_BASE64, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_DATA_ENCODING_ARMOR", (long) GPGME_DATA_ENCODING_ARMOR, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_STAT_NONE", (long) GPGME_SIG_STAT_NONE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_STAT_GOOD", (long) GPGME_SIG_STAT_GOOD, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_STAT_BAD", (long) GPGME_SIG_STAT_BAD, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_STAT_NOKEY", (long) GPGME_SIG_STAT_NOKEY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_STAT_NOSIG", (long) GPGME_SIG_STAT_NOSIG, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_STAT_ERROR", (long) GPGME_SIG_STAT_ERROR, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_STAT_DIFF", (long) GPGME_SIG_STAT_DIFF, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_STAT_GOOD_EXP", (long) GPGME_SIG_STAT_GOOD_EXP, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_STAT_GOOD_EXPKEY", (long) GPGME_SIG_STAT_GOOD_EXPKEY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIGSUM_VALID", (long) GPGME_SIGSUM_VALID, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIGSUM_GREEN", (long) GPGME_SIGSUM_GREEN, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIGSUM_RED", (long) GPGME_SIGSUM_RED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIGSUM_KEY_REVOKED", (long) GPGME_SIGSUM_KEY_REVOKED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIGSUM_KEY_EXPIRED", (long) GPGME_SIGSUM_KEY_EXPIRED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIGSUM_SIG_EXPIRED", (long) GPGME_SIGSUM_SIG_EXPIRED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIGSUM_KEY_MISSING", (long) GPGME_SIGSUM_KEY_MISSING, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIGSUM_CRL_MISSING", (long) GPGME_SIGSUM_CRL_MISSING, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIGSUM_CRL_TOO_OLD", (long) GPGME_SIGSUM_CRL_TOO_OLD, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIGSUM_BAD_POLICY", (long) GPGME_SIGSUM_BAD_POLICY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIGSUM_SYS_ERROR", (long) GPGME_SIGSUM_SYS_ERROR, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_MODE_NORMAL", (long) GPGME_SIG_MODE_NORMAL, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_MODE_DETACH", (long) GPGME_SIG_MODE_DETACH, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_SIG_MODE_CLEAR", (long) GPGME_SIG_MODE_CLEAR, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_KEYID", (long) GPGME_ATTR_KEYID, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_FPR", (long) GPGME_ATTR_FPR, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_ALGO", (long) GPGME_ATTR_ALGO, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_LEN", (long) GPGME_ATTR_LEN, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_CREATED", (long) GPGME_ATTR_CREATED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_EXPIRE", (long) GPGME_ATTR_EXPIRE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_OTRUST", (long) GPGME_ATTR_OTRUST, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_USERID", (long) GPGME_ATTR_USERID, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_NAME", (long) GPGME_ATTR_NAME, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_EMAIL", (long) GPGME_ATTR_EMAIL, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_COMMENT", (long) GPGME_ATTR_COMMENT, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_VALIDITY", (long) GPGME_ATTR_VALIDITY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_LEVEL", (long) GPGME_ATTR_LEVEL, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_TYPE", (long) GPGME_ATTR_TYPE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_IS_SECRET", (long) GPGME_ATTR_IS_SECRET, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_KEY_REVOKED", (long) GPGME_ATTR_KEY_REVOKED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_KEY_INVALID", (long) GPGME_ATTR_KEY_INVALID, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_UID_REVOKED", (long) GPGME_ATTR_UID_REVOKED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_UID_INVALID", (long) GPGME_ATTR_UID_INVALID, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_KEY_CAPS", (long) GPGME_ATTR_KEY_CAPS, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_CAN_ENCRYPT", (long) GPGME_ATTR_CAN_ENCRYPT, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_CAN_SIGN", (long) GPGME_ATTR_CAN_SIGN, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_CAN_CERTIFY", (long) GPGME_ATTR_CAN_CERTIFY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_KEY_EXPIRED", (long) GPGME_ATTR_KEY_EXPIRED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_KEY_DISABLED", (long) GPGME_ATTR_KEY_DISABLED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_SERIAL", (long) GPGME_ATTR_SERIAL, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_ISSUER", (long) GPGME_ATTR_ISSUER, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_CHAINID", (long) GPGME_ATTR_CHAINID, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_SIG_STATUS", (long) GPGME_ATTR_SIG_STATUS, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_ERRTOK", (long) GPGME_ATTR_ERRTOK, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_ATTR_SIG_SUMMARY", (long) GPGME_ATTR_SIG_SUMMARY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_VALIDITY_UNKNOWN", (long) GPGME_VALIDITY_UNKNOWN, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_VALIDITY_UNDEFINED", (long) GPGME_VALIDITY_UNDEFINED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_VALIDITY_NEVER", (long) GPGME_VALIDITY_NEVER, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_VALIDITY_MARGINAL", (long) GPGME_VALIDITY_MARGINAL, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_VALIDITY_FULL", (long) GPGME_VALIDITY_FULL, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_VALIDITY_ULTIMATE", (long) GPGME_VALIDITY_ULTIMATE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_PROTOCOL_OpenPGP", (long) GPGME_PROTOCOL_OpenPGP, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_PROTOCOL_CMS", (long) GPGME_PROTOCOL_CMS, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_PROTOCOL_AUTO", (long) GPGME_PROTOCOL_AUTO, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_EOF", (long) GPGME_STATUS_EOF, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_ENTER", (long) GPGME_STATUS_ENTER, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_LEAVE", (long) GPGME_STATUS_LEAVE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_ABORT", (long) GPGME_STATUS_ABORT, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_GOODSIG", (long) GPGME_STATUS_GOODSIG, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_BADSIG", (long) GPGME_STATUS_BADSIG, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_ERRSIG", (long) GPGME_STATUS_ERRSIG, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_BADARMOR", (long) GPGME_STATUS_BADARMOR, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_RSA_OR_IDEA", (long) GPGME_STATUS_RSA_OR_IDEA, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_KEYEXPIRED", (long) GPGME_STATUS_KEYEXPIRED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_KEYREVOKED", (long) GPGME_STATUS_KEYREVOKED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_TRUST_UNDEFINED", (long) GPGME_STATUS_TRUST_UNDEFINED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_TRUST_NEVER", (long) GPGME_STATUS_TRUST_NEVER, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_TRUST_MARGINAL", (long) GPGME_STATUS_TRUST_MARGINAL, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_TRUST_FULLY", (long) GPGME_STATUS_TRUST_FULLY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_TRUST_ULTIMATE", (long) GPGME_STATUS_TRUST_ULTIMATE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_SHM_INFO", (long) GPGME_STATUS_SHM_INFO, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_SHM_GET", (long) GPGME_STATUS_SHM_GET, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_SHM_GET_BOOL", (long) GPGME_STATUS_SHM_GET_BOOL, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_SHM_GET_HIDDEN", (long) GPGME_STATUS_SHM_GET_HIDDEN, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_NEED_PASSPHRASE", (long) GPGME_STATUS_NEED_PASSPHRASE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_VALIDSIG", (long) GPGME_STATUS_VALIDSIG, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_SIG_ID", (long) GPGME_STATUS_SIG_ID, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_ENC_TO", (long) GPGME_STATUS_ENC_TO, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_NODATA", (long) GPGME_STATUS_NODATA, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_BAD_PASSPHRASE", (long) GPGME_STATUS_BAD_PASSPHRASE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_NO_PUBKEY", (long) GPGME_STATUS_NO_PUBKEY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_NO_SECKEY", (long) GPGME_STATUS_NO_SECKEY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_NEED_PASSPHRASE_SYM", (long) GPGME_STATUS_NEED_PASSPHRASE_SYM, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_DECRYPTION_FAILED", (long) GPGME_STATUS_DECRYPTION_FAILED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_DECRYPTION_OKAY", (long) GPGME_STATUS_DECRYPTION_OKAY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_MISSING_PASSPHRASE", (long) GPGME_STATUS_MISSING_PASSPHRASE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_GOOD_PASSPHRASE", (long) GPGME_STATUS_GOOD_PASSPHRASE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_GOODMDC", (long) GPGME_STATUS_GOODMDC, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_BADMDC", (long) GPGME_STATUS_BADMDC, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_ERRMDC", (long) GPGME_STATUS_ERRMDC, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_IMPORTED", (long) GPGME_STATUS_IMPORTED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_IMPORT_RES", (long) GPGME_STATUS_IMPORT_RES, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_FILE_START", (long) GPGME_STATUS_FILE_START, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_FILE_DONE", (long) GPGME_STATUS_FILE_DONE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_FILE_ERROR", (long) GPGME_STATUS_FILE_ERROR, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_BEGIN_DECRYPTION", (long) GPGME_STATUS_BEGIN_DECRYPTION, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_END_DECRYPTION", (long) GPGME_STATUS_END_DECRYPTION, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_BEGIN_ENCRYPTION", (long) GPGME_STATUS_BEGIN_ENCRYPTION, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_END_ENCRYPTION", (long) GPGME_STATUS_END_ENCRYPTION, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_DELETE_PROBLEM", (long) GPGME_STATUS_DELETE_PROBLEM, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_GET_BOOL", (long) GPGME_STATUS_GET_BOOL, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_GET_LINE", (long) GPGME_STATUS_GET_LINE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_GET_HIDDEN", (long) GPGME_STATUS_GET_HIDDEN, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_GOT_IT", (long) GPGME_STATUS_GOT_IT, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_PROGRESS", (long) GPGME_STATUS_PROGRESS, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_SIG_CREATED", (long) GPGME_STATUS_SIG_CREATED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_SESSION_KEY", (long) GPGME_STATUS_SESSION_KEY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_NOTATION_NAME", (long) GPGME_STATUS_NOTATION_NAME, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_NOTATION_DATA", (long) GPGME_STATUS_NOTATION_DATA, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_POLICY_URL", (long) GPGME_STATUS_POLICY_URL, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_BEGIN_STREAM", (long) GPGME_STATUS_BEGIN_STREAM, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_END_STREAM", (long) GPGME_STATUS_END_STREAM, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_KEY_CREATED", (long) GPGME_STATUS_KEY_CREATED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_USERID_HINT", (long) GPGME_STATUS_USERID_HINT, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_UNEXPECTED", (long) GPGME_STATUS_UNEXPECTED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_INV_RECP", (long) GPGME_STATUS_INV_RECP, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_NO_RECP", (long) GPGME_STATUS_NO_RECP, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_ALREADY_SIGNED", (long) GPGME_STATUS_ALREADY_SIGNED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_SIGEXPIRED", (long) GPGME_STATUS_SIGEXPIRED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_EXPSIG", (long) GPGME_STATUS_EXPSIG, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_EXPKEYSIG", (long) GPGME_STATUS_EXPKEYSIG, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_TRUNCATED", (long) GPGME_STATUS_TRUNCATED, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_STATUS_ERROR", (long) GPGME_STATUS_ERROR, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_KEYLIST_MODE_LOCAL", (long) 1, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_KEYLIST_MODE_EXTERN", (long) 2, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_KEYLIST_MODE_SIGS", (long) 4, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_EVENT_DONE", (long) GPGME_EVENT_DONE, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_EVENT_NEXT_KEY", (long) GPGME_EVENT_NEXT_KEY, 0, 0, 0},
{ SWIG_PY_INT,     (char *)"GPGME_EVENT_NEXT_TRUSTITEM", (long) GPGME_EVENT_NEXT_TRUSTITEM, 0, 0, 0},
{0}};

#ifdef __cplusplus
}
#endif

#ifdef __cplusplus
extern "C"
#endif
SWIGEXPORT(void) SWIG_init(void) {
    static PyObject *SWIG_globals = 0; 
    static int       typeinit = 0;
    PyObject *m, *d;
    int       i;
    if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
    m = Py_InitModule((char *) SWIG_name, SwigMethods);
    d = PyModule_GetDict(m);
    
    if (!typeinit) {
        for (i = 0; swig_types_initial[i]; i++) {
            swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
        }
        typeinit = 1;
    }
    SWIG_InstallConstants(d,swig_const_table);
    
}

