-rw-r--r-- | share/component.skel | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/share/component.skel b/share/component.skel new file mode 100644 index 0000000..f96c5b3 --- a/dev/null +++ b/share/component.skel @@ -0,0 +1,53 @@ +%%#.cc +#include "<%component_basename%>.h" +#undef __THIS_CLASS +#define __THIS_CLASS <%class_name%> +<%impl%> + +<%member_functions:impl%> + +void *<%class_name%>::__the_most_derived_this() { + return this; +} +void <%class_name%>::__do_imports() { + __base_class::__do_imports(); + <%ancestors:import%> + <%imports:import%> +} + +extern "C" sitecing::acomponent* _egg () { + return dynamic_cast<sitecing::acomponent*>(new <%class_name%>()); +} +%%#.h +#ifndef __<%class_name%>_H +#define __<%class_name%>_H +#include "<%baseclass_header%>" +<%ancestors:includes%> +<%imports:includes%> +#undef __THIS_CLASS +#define __THIS_CLASS <%class_name%> +<%decl%> + +class <%class_name%> : virtual public <%baseclass_name%><%ancestors:base_clause_part%> { + public: + typedef <%baseclass_name%> __base_class; + typedef <%class_name%> __this_class; + <%ancestors:typedefs%> + <%member_variables:decl%> + + <%member_functions:decl%> + + virtual void *__the_most_derived_this(); + virtual void __do_imports(); +}; + +#undef __THIS_CLASS +#endif /* __<%class_name%>_H */ +%%.imports +<%imports:list%> +%%.classname +<%class_name%> +%%.basecomponent +<%base_component%> +%%.ancestors +<%ancestors:component_list%> |