namespace Shiboken { inline bool Converter::checkType(PyObject* pyObj) { return ValueTypeConverter::checkType(pyObj); } inline PyObject* Converter::toPython(const ::QDate& cppObj) { return ValueTypeConverter::toPython(cppObj); } inline bool Converter::isConvertible(PyObject* pyObj) { if (ValueTypeConverter::isConvertible(pyObj)) return true; if (!PyDateTimeAPI) PyDateTime_IMPORT; SbkObjectType* shiboType = reinterpret_cast(SbkType< ::QDate >()); return PyDate_Check(pyObj) || ObjectType::isExternalConvertible(shiboType, pyObj); } inline QDate Converter::toCpp(PyObject* pyObj) { if (!PyDateTimeAPI) PyDateTime_IMPORT; if (pyObj == Py_None) { return QDate(); } else if (PyObject_TypeCheck(pyObj, SbkType())) { return *Converter::toCpp(pyObj); } else if (PyDate_Check(pyObj)) { int day = PyDateTime_GET_DAY(pyObj); int month = PyDateTime_GET_MONTH(pyObj); int year = PyDateTime_GET_YEAR(pyObj); return QDate(year, month, day); } else { return ValueTypeConverter::toCpp(pyObj); } } }