#ifndef GEMPY_PY_MISMATCH
#define GEMPY_PY_MISMATCH

#include "Python.h"
#include "structmember.h"
#include "gem_tools.h"

/*
 * Python mismatch structure
 */
typedef struct {
    PyObject_HEAD
    gt_misms* misms;
} Mismatch;
/*
 * Create a fully initialized new mismatch instance from the
 * given gr_misms struct
 */
Mismatch* create_mismatch(gt_misms* map);
void Mismatch_dealloc(PyObject* map);


int Mismatch_init(Mismatch *self, PyObject *args, PyObject *kwds);
PyObject* Mismatch_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
PyObject* Mismatch_getposition(Mismatch *self, void *closure);
int Mismatch_setposition(Mismatch *self, PyObject *value, void *closure);
PyObject* Mismatch_getsize(Mismatch *self, void *closure);
int Mismatch_setsize(Mismatch *self, PyObject *value, void *closure);
PyObject* Mismatch_gettype(Mismatch *self, void *closure);
int Mismatch_settype(Mismatch *self, PyObject *value, void *closure);
PyObject* Mismatch_getbase(Mismatch *self, void *closure);
int Mismatch_setbase(Mismatch *self, PyObject *value, void *closure);

#endif
