-rw-r--r-- | share/.gitignore | 2 | ||||
-rw-r--r-- | share/Makefile.am | 3 | ||||
-rw-r--r-- | share/component.skel | 53 |
3 files changed, 58 insertions, 0 deletions
diff --git a/share/.gitignore b/share/.gitignore new file mode 100644 index 0000000..3dda729 --- a/dev/null +++ b/share/.gitignore @@ -0,0 +1,2 @@ +Makefile.in +Makefile diff --git a/share/Makefile.am b/share/Makefile.am new file mode 100644 index 0000000..7947380 --- a/dev/null +++ b/share/Makefile.am @@ -0,0 +1,3 @@ +pkgdata_DATA = component.skel + +EXTRA_DIST = component.skel 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%> |