Add Transaction type to Python bindings, get first tests working.

This commit is contained in:
John J. Camilleri
2021-09-21 14:55:20 +02:00
parent 7dba3465d0
commit 6edf7e6405
6 changed files with 371 additions and 257 deletions

View File

@@ -6,33 +6,30 @@
#include <pgf/pgf.h>
// typedef struct {
// PyObject_HEAD
// PyObject *thing;
// } TransactionObject;
typedef struct {
PyObject_HEAD
PGFObject *pgf; // original reference, gets updated on commit
PgfRevision revision; // transient branch
} TransactionObject;
// modifyPGF
//
// branchPGF
//
// checkoutPGF
extern PyTypeObject pgf_TransactionType;
TransactionObject *
PGF_newTransaction(PGFObject *self, PyObject *args);
PyObject *
PGF_createFunction(PGFObject *self, PyObject *args);
Transaction_commit(TransactionObject *self, PyObject *args);
PyObject *
PGF_dropFunction(PGFObject *self, PyObject *args);
Transaction_createFunction(TransactionObject *self, PyObject *args);
PyObject *
PGF_createCategory(PGFObject *self, PyObject *args);
Transaction_dropFunction(TransactionObject *self, PyObject *args);
PyObject *
PGF_dropCategory(PGFObject *self, PyObject *args);
// setGlobalFlag
//
// setAbstractFlag
Transaction_createCategory(TransactionObject *self, PyObject *args);
PyObject *
Transaction_dropCategory(TransactionObject *self, PyObject *args);
#endif // PYPGF_TRANSACTIONS_H_