Advertisement
Guest User

Untitled

a guest
Oct 5th, 2010
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. bool QXmlEntityResolverWrapper::resolveEntity(const QString & publicId, const QString & systemId, QXmlInputSource *& ret)
  2. {
  3.     Shiboken::GilState gil;
  4.     Shiboken::AutoDecRef py_override(BindingManager::instance().getOverride(this, "resolveEntity"));
  5.     if (py_override.isNull()) {
  6.  
  7.         PyErr_SetString(PyExc_NotImplementedError, "pure virtual method 'QXmlEntityResolver.resolveEntity()' not implemented.");
  8.         return bool(0);
  9.     }
  10.  
  11.     Shiboken::AutoDecRef pyargs(Py_BuildValue("(NN)",
  12.         Shiboken::Converter<QString >::toPython(publicId),
  13.         Shiboken::Converter<QString >::toPython(systemId)
  14.     ));
  15.  
  16.  
  17.     Shiboken::AutoDecRef pyResult(PyObject_Call(py_override, pyargs, NULL));
  18.     // An error happened in python code!
  19.     if (pyResult.isNull()) {
  20.         PyErr_Print();
  21.         return bool(0);
  22.     }
  23.     // Check return type
  24.     bool typeIsValid = (retval, ret)_Check(pyResult);
  25.     if (!typeIsValid) {
  26.         PyErr_Format(PyExc_TypeError, "Invalid return value in function %s, expected %s, got %s.", "QXmlEntityResolver.resolveEntity", "(retval, ret)", pyResult->ob_type->tp_name);
  27.         return bool(0);
  28.     }
  29.     // Begin code injection
  30.    
  31.     // TEMPLATE - QXmlEntityResolver_resolveEntity_return_conversion_native - START
  32.     AutoDecRef _py_ok_(PySequence_GetItem(pyResult, 0));
  33.     AutoDecRef _py_ret_(PySequence_GetItem(pyResult, 1));
  34.     bool cppResult = Shiboken::Converter<bool >::toCpp(_py_ok_);
  35.     ret = Shiboken::Converter<QXmlInputSource* >::toCpp(_py_ret_);
  36.     // TEMPLATE - QXmlEntityResolver_resolveEntity_return_conversion_native - END
  37.    
  38.     // End of code injection
  39.  
  40.     return cppResult;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement