-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 @@ | |||
1 | %%#.cc | ||
2 | #include "<%component_basename%>.h" | ||
3 | #undef __THIS_CLASS | ||
4 | #define __THIS_CLASS <%class_name%> | ||
5 | <%impl%> | ||
6 | |||
7 | <%member_functions:impl%> | ||
8 | |||
9 | void *<%class_name%>::__the_most_derived_this() { | ||
10 | return this; | ||
11 | } | ||
12 | void <%class_name%>::__do_imports() { | ||
13 | __base_class::__do_imports(); | ||
14 | <%ancestors:import%> | ||
15 | <%imports:import%> | ||
16 | } | ||
17 | |||
18 | extern "C" sitecing::acomponent* _egg () { | ||
19 | return dynamic_cast<sitecing::acomponent*>(new <%class_name%>()); | ||
20 | } | ||
21 | %%#.h | ||
22 | #ifndef __<%class_name%>_H | ||
23 | #define __<%class_name%>_H | ||
24 | #include "<%baseclass_header%>" | ||
25 | <%ancestors:includes%> | ||
26 | <%imports:includes%> | ||
27 | #undef __THIS_CLASS | ||
28 | #define __THIS_CLASS <%class_name%> | ||
29 | <%decl%> | ||
30 | |||
31 | class <%class_name%> : virtual public <%baseclass_name%><%ancestors:base_clause_part%> { | ||
32 | public: | ||
33 | typedef <%baseclass_name%> __base_class; | ||
34 | typedef <%class_name%> __this_class; | ||
35 | <%ancestors:typedefs%> | ||
36 | <%member_variables:decl%> | ||
37 | |||
38 | <%member_functions:decl%> | ||
39 | |||
40 | virtual void *__the_most_derived_this(); | ||
41 | virtual void __do_imports(); | ||
42 | }; | ||
43 | |||
44 | #undef __THIS_CLASS | ||
45 | #endif /* __<%class_name%>_H */ | ||
46 | %%.imports | ||
47 | <%imports:list%> | ||
48 | %%.classname | ||
49 | <%class_name%> | ||
50 | %%.basecomponent | ||
51 | <%base_component%> | ||
52 | %%.ancestors | ||
53 | <%ancestors:component_list%> | ||