summaryrefslogtreecommitdiffabout
path: root/kabc/vcard/include/generated/generateHeaders.awk
Unidiff
Diffstat (limited to 'kabc/vcard/include/generated/generateHeaders.awk') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/vcard/include/generated/generateHeaders.awk40
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