triple_mod.c 639 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef _PY_TRIPLE_MOD_H
  2. #define _PY_TRIPLE_MOD_H
  3. #define PY_SSIZE_T_CLEAN
  4. #include <Python.h>
  5. #include "triple_obj.h"
  6. PyModuleDef triple_mod = {
  7. PyModuleDef_HEAD_INIT,
  8. .m_name = "triple",
  9. .m_doc = "RDF triple module.",
  10. .m_size = -1,
  11. };
  12. PyMODINIT_FUNC
  13. PyInit_triple(void)
  14. {
  15. if (PyType_Ready (&TripleType) < 0) return NULL;
  16. PyObject *m = PyModule_Create(&triple_mod);
  17. if (m == NULL) return NULL;
  18. Py_INCREF(&TripleType);
  19. if (PyModule_AddObject(m, "Triple", (PyObject *) &TripleType) < 0) {
  20. Py_DECREF(&TripleType);
  21. Py_DECREF(m);
  22. return NULL;
  23. }
  24. return m;
  25. }
  26. #endif