 /* The smooth Class Library
  * Copyright (C) 1998-2009 Robert Kausch <robert.kausch@gmx.net>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of "The Artistic License, Version 2.0".
  *
  * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */

#ifndef H_OBJSMOOTH_SIGNALS_INCLUDE
#define H_OBJSMOOTH_SIGNALS_INCLUDE

#include "slots.h"

#define SIGNALS_SIGNAL_ZERO
#define SIGNALS_SIGNAL_CLASS_NAME	Signal0
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotBase0
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotGlobal0
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotClass0
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotSignal0
#define SIGNALS_CONDITIONAL_COMMA
#define SIGNALS_ARGUMENT_LIST
#define SIGNALS_ARGUMENT_TYPES
#define SIGNALS_ARGUMENT_PARAMETER_LIST
#define SIGNALS_ARGUMENT_PARAMETERS

#include "signals/signal.h"

#undef SIGNALS_SIGNAL_ZERO
#undef SIGNALS_SIGNAL_CLASS_NAME
#undef SIGNALS_SLOT_BASE_CLASS_NAME
#undef SIGNALS_SLOT_GLOBAL_CLASS_NAME
#undef SIGNALS_SLOT_CLASS_CLASS_NAME
#undef SIGNALS_SLOT_SIGNAL_CLASS_NAME
#undef SIGNALS_CONDITIONAL_COMMA
#undef SIGNALS_ARGUMENT_LIST
#undef SIGNALS_ARGUMENT_TYPES
#undef SIGNALS_ARGUMENT_PARAMETER_LIST
#undef SIGNALS_ARGUMENT_PARAMETERS

#define SIGNALS_SIGNAL_CLASS_NAME	Signal1
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotBase1
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotGlobal1
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotClass1
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotSignal1
#define SIGNALS_CONDITIONAL_COMMA	,
#define SIGNALS_ARGUMENT_LIST		class pt1
#define SIGNALS_ARGUMENT_TYPES		pt1
#define SIGNALS_ARGUMENT_PARAMETER_LIST	pt1 p1
#define SIGNALS_ARGUMENT_PARAMETERS	p1

#include "signals/signal.h"

#undef SIGNALS_SIGNAL_CLASS_NAME
#undef SIGNALS_SLOT_BASE_CLASS_NAME
#undef SIGNALS_SLOT_GLOBAL_CLASS_NAME
#undef SIGNALS_SLOT_CLASS_CLASS_NAME
#undef SIGNALS_SLOT_SIGNAL_CLASS_NAME
#undef SIGNALS_CONDITIONAL_COMMA
#undef SIGNALS_ARGUMENT_LIST
#undef SIGNALS_ARGUMENT_TYPES
#undef SIGNALS_ARGUMENT_PARAMETER_LIST
#undef SIGNALS_ARGUMENT_PARAMETERS

#define SIGNALS_SIGNAL_CLASS_NAME	Signal2
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotBase2
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotGlobal2
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotClass2
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotSignal2
#define SIGNALS_CONDITIONAL_COMMA	,
#define SIGNALS_ARGUMENT_LIST		class pt1, class pt2
#define SIGNALS_ARGUMENT_TYPES		pt1, pt2
#define SIGNALS_ARGUMENT_PARAMETER_LIST	pt1 p1, pt2 p2
#define SIGNALS_ARGUMENT_PARAMETERS	p1, p2

#include "signals/signal.h"

#undef SIGNALS_SIGNAL_CLASS_NAME
#undef SIGNALS_SLOT_BASE_CLASS_NAME
#undef SIGNALS_SLOT_GLOBAL_CLASS_NAME
#undef SIGNALS_SLOT_CLASS_CLASS_NAME
#undef SIGNALS_SLOT_SIGNAL_CLASS_NAME
#undef SIGNALS_CONDITIONAL_COMMA
#undef SIGNALS_ARGUMENT_LIST
#undef SIGNALS_ARGUMENT_TYPES
#undef SIGNALS_ARGUMENT_PARAMETER_LIST
#undef SIGNALS_ARGUMENT_PARAMETERS

#define SIGNALS_SIGNAL_CLASS_NAME	Signal3
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotBase3
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotGlobal3
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotClass3
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotSignal3
#define SIGNALS_CONDITIONAL_COMMA	,
#define SIGNALS_ARGUMENT_LIST		class pt1, class pt2, class pt3
#define SIGNALS_ARGUMENT_TYPES		pt1, pt2, pt3
#define SIGNALS_ARGUMENT_PARAMETER_LIST	pt1 p1, pt2 p2, pt3 p3
#define SIGNALS_ARGUMENT_PARAMETERS	p1, p2, p3

#include "signals/signal.h"

#undef SIGNALS_SIGNAL_CLASS_NAME
#undef SIGNALS_SLOT_BASE_CLASS_NAME
#undef SIGNALS_SLOT_GLOBAL_CLASS_NAME
#undef SIGNALS_SLOT_CLASS_CLASS_NAME
#undef SIGNALS_SLOT_SIGNAL_CLASS_NAME
#undef SIGNALS_CONDITIONAL_COMMA
#undef SIGNALS_ARGUMENT_LIST
#undef SIGNALS_ARGUMENT_TYPES
#undef SIGNALS_ARGUMENT_PARAMETER_LIST
#undef SIGNALS_ARGUMENT_PARAMETERS

#define SIGNALS_SIGNAL_CLASS_NAME	Signal4
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotBase4
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotGlobal4
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotClass4
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotSignal4
#define SIGNALS_CONDITIONAL_COMMA	,
#define SIGNALS_ARGUMENT_LIST		class pt1, class pt2, class pt3, class pt4
#define SIGNALS_ARGUMENT_TYPES		pt1, pt2, pt3, pt4
#define SIGNALS_ARGUMENT_PARAMETER_LIST	pt1 p1, pt2 p2, pt3 p3, pt4 p4
#define SIGNALS_ARGUMENT_PARAMETERS	p1, p2, p3, p4

#include "signals/signal.h"

#undef SIGNALS_SIGNAL_CLASS_NAME
#undef SIGNALS_SLOT_BASE_CLASS_NAME
#undef SIGNALS_SLOT_GLOBAL_CLASS_NAME
#undef SIGNALS_SLOT_CLASS_CLASS_NAME
#undef SIGNALS_SLOT_SIGNAL_CLASS_NAME
#undef SIGNALS_CONDITIONAL_COMMA
#undef SIGNALS_ARGUMENT_LIST
#undef SIGNALS_ARGUMENT_TYPES
#undef SIGNALS_ARGUMENT_PARAMETER_LIST
#undef SIGNALS_ARGUMENT_PARAMETERS

#define SIGNALS_SIGNAL_CLASS_NAME	Signal5
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotBase5
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotGlobal5
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotClass5
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotSignal5
#define SIGNALS_CONDITIONAL_COMMA	,
#define SIGNALS_ARGUMENT_LIST		class pt1, class pt2, class pt3, class pt4, class pt5
#define SIGNALS_ARGUMENT_TYPES		pt1, pt2, pt3, pt4, pt5
#define SIGNALS_ARGUMENT_PARAMETER_LIST	pt1 p1, pt2 p2, pt3 p3, pt4 p4, pt5 p5
#define SIGNALS_ARGUMENT_PARAMETERS	p1, p2, p3, p4, p5

#include "signals/signal.h"

#undef SIGNALS_SIGNAL_CLASS_NAME
#undef SIGNALS_SLOT_BASE_CLASS_NAME
#undef SIGNALS_SLOT_GLOBAL_CLASS_NAME
#undef SIGNALS_SLOT_CLASS_CLASS_NAME
#undef SIGNALS_SLOT_SIGNAL_CLASS_NAME
#undef SIGNALS_CONDITIONAL_COMMA
#undef SIGNALS_ARGUMENT_LIST
#undef SIGNALS_ARGUMENT_TYPES
#undef SIGNALS_ARGUMENT_PARAMETER_LIST
#undef SIGNALS_ARGUMENT_PARAMETERS

#define SIGNALS_SIGNAL_CLASS_NAME	Signal6
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotBase6
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotGlobal6
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotClass6
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotSignal6
#define SIGNALS_CONDITIONAL_COMMA	,
#define SIGNALS_ARGUMENT_LIST		class pt1, class pt2, class pt3, class pt4, class pt5, class pt6
#define SIGNALS_ARGUMENT_TYPES		pt1, pt2, pt3, pt4, pt5, pt6
#define SIGNALS_ARGUMENT_PARAMETER_LIST	pt1 p1, pt2 p2, pt3 p3, pt4 p4, pt5 p5, pt6 p6
#define SIGNALS_ARGUMENT_PARAMETERS	p1, p2, p3, p4, p5, p6

#include "signals/signal.h"

#undef SIGNALS_SIGNAL_CLASS_NAME
#undef SIGNALS_SLOT_BASE_CLASS_NAME
#undef SIGNALS_SLOT_GLOBAL_CLASS_NAME
#undef SIGNALS_SLOT_CLASS_CLASS_NAME
#undef SIGNALS_SLOT_SIGNAL_CLASS_NAME
#undef SIGNALS_CONDITIONAL_COMMA
#undef SIGNALS_ARGUMENT_LIST
#undef SIGNALS_ARGUMENT_TYPES
#undef SIGNALS_ARGUMENT_PARAMETER_LIST
#undef SIGNALS_ARGUMENT_PARAMETERS

#define SIGNALS_SIGNAL_CLASS_NAME	Signal7
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotBase7
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotGlobal7
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotClass7
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotSignal7
#define SIGNALS_CONDITIONAL_COMMA	,
#define SIGNALS_ARGUMENT_LIST		class pt1, class pt2, class pt3, class pt4, class pt5, class pt6, class pt7
#define SIGNALS_ARGUMENT_TYPES		pt1, pt2, pt3, pt4, pt5, pt6, pt7
#define SIGNALS_ARGUMENT_PARAMETER_LIST	pt1 p1, pt2 p2, pt3 p3, pt4 p4, pt5 p5, pt6 p6, pt7 p7
#define SIGNALS_ARGUMENT_PARAMETERS	p1, p2, p3, p4, p5, p6, p7

#include "signals/signal.h"

#undef SIGNALS_SIGNAL_CLASS_NAME
#undef SIGNALS_SLOT_BASE_CLASS_NAME
#undef SIGNALS_SLOT_GLOBAL_CLASS_NAME
#undef SIGNALS_SLOT_CLASS_CLASS_NAME
#undef SIGNALS_SLOT_SIGNAL_CLASS_NAME
#undef SIGNALS_CONDITIONAL_COMMA
#undef SIGNALS_ARGUMENT_LIST
#undef SIGNALS_ARGUMENT_TYPES
#undef SIGNALS_ARGUMENT_PARAMETER_LIST
#undef SIGNALS_ARGUMENT_PARAMETERS

#define SIGNALS_SIGNAL_CLASS_NAME	Signal8
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotBase8
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotGlobal8
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotClass8
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotSignal8
#define SIGNALS_CONDITIONAL_COMMA	,
#define SIGNALS_ARGUMENT_LIST		class pt1, class pt2, class pt3, class pt4, class pt5, class pt6, class pt7, class pt8
#define SIGNALS_ARGUMENT_TYPES		pt1, pt2, pt3, pt4, pt5, pt6, pt7, pt8
#define SIGNALS_ARGUMENT_PARAMETER_LIST	pt1 p1, pt2 p2, pt3 p3, pt4 p4, pt5 p5, pt6 p6, pt7 p7, pt8 p8
#define SIGNALS_ARGUMENT_PARAMETERS	p1, p2, p3, p4, p5, p6, p7, p8

#include "signals/signal.h"

#undef SIGNALS_SIGNAL_CLASS_NAME
#undef SIGNALS_SLOT_BASE_CLASS_NAME
#undef SIGNALS_SLOT_GLOBAL_CLASS_NAME
#undef SIGNALS_SLOT_CLASS_CLASS_NAME
#undef SIGNALS_SLOT_SIGNAL_CLASS_NAME
#undef SIGNALS_CONDITIONAL_COMMA
#undef SIGNALS_ARGUMENT_LIST
#undef SIGNALS_ARGUMENT_TYPES
#undef SIGNALS_ARGUMENT_PARAMETER_LIST
#undef SIGNALS_ARGUMENT_PARAMETERS

#endif
