#ifndef _CUSTOMSLOT_H_
#define _CUSTOMSLOT_H_

#include <iostream>
#include <qnamespace.h>
#include <qobject.h>
#include <qaction.h>
#include <qdockwindow.h>
#include <qlistview.h>
#include <qiconview.h>
#include <qpoint.h>
#include <qlist.h>
#include <qlistbox.h>
#include <qnetworkprotocol.h>
#include <qobject.h>
#include <qtoolbar.h>
#include <qwidget.h>
#include <qcolor.h>
#include <qdatetime.h>
#include <qfont.h>
#include <qrect.h>
#include <qsize.h>
#include <qstringlist.h>
#include <qstring.h>
#include <qlibrary.h>
#include <qurlinfo.h>
#include <qvaluelist.h>
#include <qvariant.h>
#include <qevent.h>
#include <qfiledialog.h>
#include <qmenudata.h>

class CustomSlot: public QObject
{
	Q_OBJECT

public:

	CustomSlot (void (*ptr)(void), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(bool), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(short), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(int), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(long), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(float), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(double), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(const QString&), QObject *parent, const char *name=0);	
	CustomSlot (void (*ptr)(QDockWindow*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(QDropEvent*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(QDropEvent*,QListViewItem*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(QIconViewItem*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(QListBoxItem*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(QListViewItem*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(QListViewItem*,QListViewItem*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(QListViewItem*,QListViewItem*,QListViewItem*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(QNetworkOperation*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(QObject*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(QToolBar*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(QWidget*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(int,QIconViewItem*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(int,QListBoxItem*), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(int,bool), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(int,int), QObject *parent, const char *name=0);
	CustomSlot (void (*ptr)(int,int,int), QObject *parent, const char *name=0);

public slots:
	void callback (void);
	void callback (bool);
	void callback (short);
	void callback (int);
	void callback (long);
	void callback (float);
	void callback (double);
	void callback (const QString&);
	void callback (QDockWindow*);
	void callback (QDropEvent*);
	void callback (QDropEvent*,QListViewItem*);
	void callback (QIconViewItem*);
	void callback (QListBoxItem*);
	void callback (QListViewItem*);
	void callback (QListViewItem*,QListViewItem*);
	void callback (QListViewItem*,QListViewItem*,QListViewItem*);
	void callback (QNetworkOperation*);
	void callback (QObject*);
	void callback (QToolBar*);
	void callback (QWidget*);
	void callback (int,QIconViewItem*);
	void callback (int,QListBoxItem*);
	void callback (int,bool);
	void callback (int,int);
	void callback (int,int,int);

private:
	void (*p0)(void);
	void (*p1)(bool);
	void (*p2)(short);
	void (*p3)(int);
	void (*p4)(long);
	void (*p5)(float);
	void (*p6)(double);
	void (*p7)(QDockWindow*);
	void (*p8)(QDropEvent*);
	void (*p9)(QDropEvent*,QListViewItem*);
	void (*p10)(QIconViewItem*);
	void (*p11)(QListBoxItem*);
	void (*p12)(QListViewItem*);
	void (*p13)(QListViewItem*,QListViewItem*);
	void (*p14)(QListViewItem*,QListViewItem*,QListViewItem*);
	void (*p15)(QNetworkOperation*);
	void (*p16)(QObject*);
	void (*p17)(QToolBar*);
	void (*p18)(QWidget*);
	void (*p19)(int,QIconViewItem*);
	void (*p20)(int,QListBoxItem*);
	void (*p21)(int,bool);
	void (*p22)(int,int);
	void (*p23)(int,int,int);
	void (*p24)(const QString&);
};

#endif // _CUSTOMSLOT_H_
