Skip to content

Expose QSocketNotifier for Qt5 #63

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 4, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
160 changes: 160 additions & 0 deletions generated_cpp_56/com_trolltech_qt_core/com_trolltech_qt_core2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4540,18 +4540,178 @@ QByteArray PythonQtWrapper_QSignalTransition::signal(QSignalTransition* theWrap
return ( theWrappedObject->signal());
}

// code from 48
//
PythonQtShell_QSocketNotifier::~PythonQtShell_QSocketNotifier() {
PythonQtPrivate* priv = PythonQt::priv();
if (priv) { priv->shellClassDeleted(this); }
}
void PythonQtShell_QSocketNotifier::childEvent(QChildEvent* arg__1)
{
if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
static PyObject* name = PyString_FromString("childEvent");
PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
if (obj) {
static const char* argumentList[] ={"" , "QChildEvent*"};
static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
void* args[2] = {NULL, (void*)&arg__1};
PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
if (result) { Py_DECREF(result); }
Py_DECREF(obj);
return;
} else {
PyErr_Clear();
}
}
QSocketNotifier::childEvent(arg__1);
}
void PythonQtShell_QSocketNotifier::customEvent(QEvent* arg__1)
{
if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
static PyObject* name = PyString_FromString("customEvent");
PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
if (obj) {
static const char* argumentList[] ={"" , "QEvent*"};
static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
void* args[2] = {NULL, (void*)&arg__1};
PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
if (result) { Py_DECREF(result); }
Py_DECREF(obj);
return;
} else {
PyErr_Clear();
}
}
QSocketNotifier::customEvent(arg__1);
}
bool PythonQtShell_QSocketNotifier::event(QEvent* arg__1)
{
if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
static PyObject* name = PyString_FromString("event");
PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
if (obj) {
static const char* argumentList[] ={"bool" , "QEvent*"};
static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
bool returnValue;
void* args[2] = {NULL, (void*)&arg__1};
PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
if (result) {
args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
if (args[0]!=&returnValue) {
if (args[0]==NULL) {
PythonQt::priv()->handleVirtualOverloadReturnError("event", methodInfo, result);
} else {
returnValue = *((bool*)args[0]);
}
}
}
if (result) { Py_DECREF(result); }
Py_DECREF(obj);
return returnValue;
} else {
PyErr_Clear();
}
}
return QSocketNotifier::event(arg__1);
}
bool PythonQtShell_QSocketNotifier::eventFilter(QObject* arg__1, QEvent* arg__2)
{
if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
static PyObject* name = PyString_FromString("eventFilter");
PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
if (obj) {
static const char* argumentList[] ={"bool" , "QObject*" , "QEvent*"};
static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(3, argumentList);
bool returnValue;
void* args[3] = {NULL, (void*)&arg__1, (void*)&arg__2};
PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
if (result) {
args[0] = PythonQtConv::ConvertPythonToQt(methodInfo->parameters().at(0), result, false, NULL, &returnValue);
if (args[0]!=&returnValue) {
if (args[0]==NULL) {
PythonQt::priv()->handleVirtualOverloadReturnError("eventFilter", methodInfo, result);
} else {
returnValue = *((bool*)args[0]);
}
}
}
if (result) { Py_DECREF(result); }
Py_DECREF(obj);
return returnValue;
} else {
PyErr_Clear();
}
}
return QSocketNotifier::eventFilter(arg__1, arg__2);
}
void PythonQtShell_QSocketNotifier::timerEvent(QTimerEvent* arg__1)
{
if (_wrapper && (((PyObject*)_wrapper)->ob_refcnt > 0)) {
static PyObject* name = PyString_FromString("timerEvent");
PyObject* obj = PyBaseObject_Type.tp_getattro((PyObject*)_wrapper, name);
if (obj) {
static const char* argumentList[] ={"" , "QTimerEvent*"};
static const PythonQtMethodInfo* methodInfo = PythonQtMethodInfo::getCachedMethodInfoFromArgumentList(2, argumentList);
void* args[2] = {NULL, (void*)&arg__1};
PyObject* result = PythonQtSignalTarget::call(obj, methodInfo, args, true);
if (result) { Py_DECREF(result); }
Py_DECREF(obj);
return;
} else {
PyErr_Clear();
}
}
QSocketNotifier::timerEvent(arg__1);
}
QSocketNotifier* PythonQtWrapper_QSocketNotifier::new_QSocketNotifier(int socket, QSocketNotifier::Type arg__2, QObject* parent)
{
return new PythonQtShell_QSocketNotifier(socket, arg__2, parent); }

bool PythonQtWrapper_QSocketNotifier::event(QSocketNotifier* theWrappedObject, QEvent* arg__1)
{
return ( ((PythonQtPublicPromoter_QSocketNotifier*)theWrappedObject)->promoted_event(arg__1));
}

bool PythonQtWrapper_QSocketNotifier::isEnabled(QSocketNotifier* theWrappedObject) const
{
return ( theWrappedObject->isEnabled());
}

int PythonQtWrapper_QSocketNotifier::socket(QSocketNotifier* theWrappedObject) const
{
return ( theWrappedObject->socket());
}

QSocketNotifier::Type PythonQtWrapper_QSocketNotifier::type(QSocketNotifier* theWrappedObject) const
{
return ( theWrappedObject->type());
}
// end of code from 48

/// Hand edited QSocketNotifier code
/*
QSocketNotifier* PythonQtWrapper_QSocketNotifier::new_QSocketNotifier(qintptr socket, QSocketNotifier::Type type)
{
return new PythonQtShell_QSocketNotifier(socket, type); }

int PythonQtShell_QSocketNotifier::qt_metacall(QMetaObject::Call call, int id, void** args) {
int result = QSocketNotifier::qt_metacall(call, id, args);
return result >= 0 ? PythonQt::priv()->handleMetaCall(this, _wrapper, call, id, args) : result;
}

bool PythonQtWrapper_QSocketNotifier::isEnabled(QSocketNotifier* theWrappedObject) const
{
return ( theWrappedObject->isEnabled());
}

QSocketNotifier::Type PythonQtWrapper_QSocketNotifier::type(QSocketNotifier* theWrappedObject) const
{
return ( theWrappedObject->type());
}


*/
/// end of hand generated code


QString PythonQtWrapper_QStandardPaths::static_QStandardPaths_displayName(QStandardPaths::StandardLocation type)
Expand Down
25 changes: 20 additions & 5 deletions generated_cpp_56/com_trolltech_qt_core/com_trolltech_qt_core2.h
Original file line number Diff line number Diff line change
Expand Up @@ -1041,13 +1041,27 @@ void delete_QSignalTransition(QSignalTransition* obj) { delete obj; }
};


// code from 48 (QSocketNotifier is not wrapped correctly for Qt5)

class PythonQtShell_QSocketNotifier : public QSocketNotifier
{
public:
PythonQtShell_QSocketNotifier(int socket, QSocketNotifier::Type arg__2, QObject* parent = 0):QSocketNotifier(socket, arg__2, parent),_wrapper(NULL) {};

~PythonQtShell_QSocketNotifier();

virtual void childEvent(QChildEvent* arg__1);
virtual void customEvent(QEvent* arg__1);
virtual bool event(QEvent* arg__1);
virtual bool eventFilter(QObject* arg__1, QEvent* arg__2);
virtual void timerEvent(QTimerEvent* arg__1);

PythonQtInstanceWrapper* _wrapper;
};

class PythonQtPublicPromoter_QSocketNotifier : public QSocketNotifier
{ public:
inline bool promoted_event(QEvent* arg__1) { return this->event(arg__1); }
inline bool py_q_event(QEvent* arg__1) { return QSocketNotifier::event(arg__1); }
inline bool promoted_event(QEvent* arg__1) { return QSocketNotifier::event(arg__1); }
};

class PythonQtWrapper_QSocketNotifier : public QObject
Expand All @@ -1057,14 +1071,15 @@ Q_ENUMS(Type )
enum Type{
Read = QSocketNotifier::Read, Write = QSocketNotifier::Write, Exception = QSocketNotifier::Exception};
public slots:
QSocketNotifier* new_QSocketNotifier(int socket, QSocketNotifier::Type arg__2, QObject* parent = 0);
void delete_QSocketNotifier(QSocketNotifier* obj) { delete obj; }
bool py_q_event(QSocketNotifier* theWrappedObject, QEvent* arg__1){ return (((PythonQtPublicPromoter_QSocketNotifier*)theWrappedObject)->py_q_event(arg__1));}
bool event(QSocketNotifier* theWrappedObject, QEvent* arg__1);
bool isEnabled(QSocketNotifier* theWrappedObject) const;
int socket(QSocketNotifier* theWrappedObject) const;
QSocketNotifier::Type type(QSocketNotifier* theWrappedObject) const;
};



/// end of code from 48


class PythonQtWrapper_QStandardPaths : public QObject
Expand Down