 /* 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_CALLBACKS_INCLUDE
#define H_OBJSMOOTH_CALLBACKS_INCLUDE

#include "signalsr.h"
#include "slotsr.h"

#define SIGNALS_SIGNAL_ZERO
#define SIGNALS_CALLBACK_CLASS_NAME	Callback0
#define SIGNALS_SIGNAL_CLASS_NAME	SignalR0
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotRBase0
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotRGlobal0
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotRClass0
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotRSignal0
#define SIGNALS_CONDITIONAL_COMMA
#define SIGNALS_ARGUMENT_LIST
#define SIGNALS_ARGUMENT_TYPES
#define SIGNALS_ARGUMENT_PARAMETER_LIST
#define SIGNALS_ARGUMENT_PARAMETERS

#include "signals/callback.h"

#undef SIGNALS_SIGNAL_ZERO
#undef SIGNALS_SIGNAL_CLASS_NAME
#undef SIGNALS_CALLBACK_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_CALLBACK_CLASS_NAME	Callback1
#define SIGNALS_SIGNAL_CLASS_NAME	SignalR1
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotRBase1
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotRGlobal1
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotRClass1
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotRSignal1
#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/callback.h"

#undef SIGNALS_CALLBACK_CLASS_NAME
#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_CALLBACK_CLASS_NAME	Callback2
#define SIGNALS_SIGNAL_CLASS_NAME	SignalR2
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotRBase2
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotRGlobal2
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotRClass2
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotRSignal2
#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/callback.h"

#undef SIGNALS_CALLBACK_CLASS_NAME
#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_CALLBACK_CLASS_NAME	Callback3
#define SIGNALS_SIGNAL_CLASS_NAME	SignalR3
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotRBase3
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotRGlobal3
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotRClass3
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotRSignal3
#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/callback.h"

#undef SIGNALS_CALLBACK_CLASS_NAME
#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_CALLBACK_CLASS_NAME	Callback4
#define SIGNALS_SIGNAL_CLASS_NAME	SignalR4
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotRBase4
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotRGlobal4
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotRClass4
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotRSignal4
#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/callback.h"

#undef SIGNALS_CALLBACK_CLASS_NAME
#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_CALLBACK_CLASS_NAME	Callback5
#define SIGNALS_SIGNAL_CLASS_NAME	SignalR5
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotRBase5
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotRGlobal5
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotRClass5
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotRSignal5
#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/callback.h"

#undef SIGNALS_CALLBACK_CLASS_NAME
#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_CALLBACK_CLASS_NAME	Callback6
#define SIGNALS_SIGNAL_CLASS_NAME	SignalR6
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotRBase6
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotRGlobal6
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotRClass6
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotRSignal6
#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/callback.h"

#undef SIGNALS_CALLBACK_CLASS_NAME
#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_CALLBACK_CLASS_NAME	Callback7
#define SIGNALS_SIGNAL_CLASS_NAME	SignalR7
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotRBase7
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotRGlobal7
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotRClass7
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotRSignal7
#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/callback.h"

#undef SIGNALS_CALLBACK_CLASS_NAME
#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_CALLBACK_CLASS_NAME	Callback8
#define SIGNALS_SIGNAL_CLASS_NAME	SignalR8
#define SIGNALS_SLOT_BASE_CLASS_NAME	SlotRBase8
#define SIGNALS_SLOT_GLOBAL_CLASS_NAME	SlotRGlobal8
#define SIGNALS_SLOT_CLASS_CLASS_NAME	SlotRClass8
#define SIGNALS_SLOT_SIGNAL_CLASS_NAME	SlotRSignal8
#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/callback.h"

#undef SIGNALS_CALLBACK_CLASS_NAME
#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
