Diffstat (limited to 'kabc/vcard/include/generated/generateHeaders.awk') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kabc/vcard/include/generated/generateHeaders.awk | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/kabc/vcard/include/generated/generateHeaders.awk b/kabc/vcard/include/generated/generateHeaders.awk new file mode 100644 index 0000000..1053144 --- a/dev/null +++ b/kabc/vcard/include/generated/generateHeaders.awk | |||
@@ -0,0 +1,40 @@ | |||
1 | #!/bin/awk -f | ||
2 | |||
3 | { | ||
4 | outfile = $1 "-generated.h" | ||
5 | name = $1 | ||
6 | |||
7 | OFS="" | ||
8 | |||
9 | print "// XXX Automatically generated. DO NOT EDIT! XXX //\n" > outfile | ||
10 | |||
11 | if ($2 == "v") { pre = "virtual " } else { pre = "" } | ||
12 | |||
13 | print "public:" >> outfile | ||
14 | print name "();" >> outfile | ||
15 | print name "(const " name "&);" >> outfile | ||
16 | print name "(const QCString&);" >> outfile | ||
17 | print pre name " & operator = (" name "&);" >> outfile | ||
18 | print pre name " & operator = (const QCString&);" >> outfile | ||
19 | print pre "bool operator ==(" name "&);" >> outfile | ||
20 | print pre "bool operator !=(" name "& x) {return !(*this==x);}" \ | ||
21 | >> outfile | ||
22 | print pre "bool operator ==(const QCString& s) {" name " a(s);" \ | ||
23 | "return(*this==a);} " >> outfile | ||
24 | print pre "bool operator != (const QCString& s) {return !(*this == s);}\n" \ | ||
25 | >> outfile | ||
26 | print "virtual ~" name "();" >> outfile | ||
27 | print pre "void parse() " \ | ||
28 | "{if(!parsed_) _parse();parsed_=true;assembled_=false;}\n" \ | ||
29 | >> outfile | ||
30 | print pre "void assemble() " \ | ||
31 | "{if(assembled_) return;parse();_assemble();assembled_=true;}\n" \ | ||
32 | >> outfile | ||
33 | print pre "void _parse();" >> outfile | ||
34 | print pre "void _assemble();" >> outfile | ||
35 | print pre "const char * className() const { return \"" name "\"; }" \ | ||
36 | >> outfile | ||
37 | |||
38 | print "\n// End of automatically generated code //" >> outfile | ||
39 | } | ||
40 | |||