Salome HOME
Various improvements.
[tools/py2cpp.git] / src / TypeConversions.cxx
index 6d674c939801e8af76f0b1db2457bc3c067a2f20..d50b3a84741ea888644c0c830ed738ebabf545eb 100644 (file)
@@ -35,6 +35,36 @@ PyObject * toPy(int val)
   return PyLong_FromLong(val);
 }
 
+ConversionCheck fromPy(PyObject * po, unsigned int& result)
+{
+  ConversionCheck check;
+  if(po && PyLong_Check(po))
+    result = PyLong_AsUnsignedLong(po);
+  else
+    check.addError("int", po);
+  return check;
+}
+
+PyObject * toPy(unsigned int val)
+{
+  return PyLong_FromUnsignedLong(val);
+}
+
+ConversionCheck fromPy(PyObject * po, bool& result)
+{
+  ConversionCheck check;
+  if(po && PyBool_Check(po))
+    result = (Py_True == po);
+  else
+    check.addError("bool", po);
+  return check;
+}
+
+PyObject * toPy(bool val)
+{
+  return PyBool_FromLong(val);
+}
+
 ConversionCheck fromPy(PyObject * po, double& result)
 {
   ConversionCheck check;
@@ -70,6 +100,11 @@ PyObject * toPy(const std::string& val)
   return PyUnicode_FromString(val.c_str());
 }
 
+PyObject * toPy(const char* val)
+{
+  return PyUnicode_FromString(val);
+}
+
 ConversionCheck fromPy( PyObject *po, PyObject *& result)
 {
   result = po;