// C++ interface header file.
//
// Generated by SIP 3.7 (build 102) on Fri Jul 25 00:26:05 2003
//
// Copyright (c) 2003
// 	Riverbank Computing Limited <info@riverbankcomputing.co.uk>
// 
// This file is part of PyQt.
// 
// This copy of PyQt is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2, or (at your option) any later
// version.
// 
// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
// FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
// details.
// 
// You should have received a copy of the GNU General Public License along with
// PyQt; see the file LICENSE.  If not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

#ifndef _qtQEventLoop_h
#define	_qtQEventLoop_h

#line 41 "sip/qeventloop.sip"
#include <qeventloop.h>
#line 30 "sipqtQEventLoop.h"

#include "sipqtQObject.h"
#include "sipqtQSocketNotifier.h"


extern SIP_IMPORT sipLazyAttrDef sipClassAttrTab_QEventLoop;

extern SIP_IMPORT const void *sipCast_QEventLoop Py_PROTO((const void *,PyObject *));
extern SIP_IMPORT PyObject *sipNew_QEventLoop Py_PROTO((PyObject *,PyObject *));


class SIP_IMPORT sipQEventLoop : public QEventLoop
{
public:
	sipQEventLoop(QObject *,const char *);
	~sipQEventLoop();
	void customEvent(QCustomEvent *);
	void childEvent(QChildEvent *);
	void timerEvent(QTimerEvent *);
	QVariant property(const char *) const;
	bool setProperty(const char *,const QVariant&);
	void removeChild(QObject *);
	void insertChild(QObject *);
	void setName(const char *);
	bool eventFilter(QObject *,QEvent *);
	bool event(QEvent *);
	void wakeUp();
	static void sipVH_wakeUp(const sipMethodCache *,sipThisType *);
	int loopLevel() const;
	static int sipVH_loopLevel(const sipMethodCache *,sipThisType *);
	void exitLoop();
	static void sipVH_exitLoop(const sipMethodCache *,sipThisType *);
	int enterLoop();
	static int sipVH_enterLoop(const sipMethodCache *,sipThisType *);
	void exit(int);
	static void sipVH_exit(const sipMethodCache *,sipThisType *,int);
	int exec();
	static int sipVH_exec(const sipMethodCache *,sipThisType *);
	void unregisterSocketNotifier(QSocketNotifier *);
	static void sipVH_unregisterSocketNotifier(const sipMethodCache *,sipThisType *,QSocketNotifier *);
	void registerSocketNotifier(QSocketNotifier *);
	static void sipVH_registerSocketNotifier(const sipMethodCache *,sipThisType *,QSocketNotifier *);
	bool hasPendingEvents() const;
	static bool sipVH_hasPendingEvents(const sipMethodCache *,sipThisType *);
	bool processEvents(unsigned);
	static bool sipVH_processEvents(const sipMethodCache *,sipThisType *,unsigned);

	// There is a public member function for every protected member
	// function visible from this class.

	const QObject * sipProtect_sender();
	void sipProtect_timerEvent(QTimerEvent *);
	void sipProtect_childEvent(QChildEvent *);
	void sipProtect_customEvent(QCustomEvent *);

	// There is a public member function for every Qt signal that can be
	// emitted by this object.  This function is called by Python to emit
	// the signal.

	int sipEmit_destroyed(PyObject *sipArgs);
	int sipEmit_awake(PyObject *sipArgs);
	int sipEmit_aboutToBlock(PyObject *sipArgs);

	sipThisType *sipPyThis;

private:
	sipQEventLoop(const sipQEventLoop &);
	sipQEventLoop &operator = (const sipQEventLoop &);

	sipMethodCache sipPyMethods[20];
};

extern SIP_IMPORT QEventLoop *sipForceConvertTo_QEventLoop Py_PROTO((PyObject *,int *));

#endif
