| 
#define     BONOBO_BOILERPLATE              (type, type_as_function, corba_type,		\
			   parent_type, parent_type_macro,		\
			   register_type_macro)
#define     BONOBO_CALL_PARENT              (parent_class_cast, name, args)
#define     BONOBO_CALL_PARENT_WITH_DEFAULT (parent_class_cast,		\
					name, args, def_return)
#define     BONOBO_CLASS_BOILERPLATE        (type, type_as_function,		\
				 parent_type, parent_type_macro)
#define     BONOBO_REGISTER_TYPE            (type, type_as_function, corba_type,	\
			     parent_type, parent_type_macro)
#define     BONOBO_CLASS_BOILERPLATE_FULL   (type, type_as_function,		\
				      corba_type,			\
				      parent_type, parent_type_macro)
#define     BONOBO_REGISTER_TYPE_FULL       (type, type_as_function, corba_type,	\
				  parent_type, parent_type_macro) |