Root/
Source at commit 1322 created 12 years 8 months ago. By meklort, Add doxygen to utils folder | |
---|---|
1 | /*␊ |
2 | * Copyright (C) 2008 by Sebastian Pipping.␊ |
3 | * Copyright (C) 2008 Dimitri van Heesch.␊ |
4 | *␊ |
5 | * Permission to use, copy, modify, and distribute this software and its␊ |
6 | * documentation under the terms of the GNU General Public License is hereby ␊ |
7 | * granted. No representations are made about the suitability of this software ␊ |
8 | * for any purpose. It is provided "as is" without express or implied warranty.␊ |
9 | * See the GNU General Public License for more details.␊ |
10 | *␊ |
11 | * Documents produced by Doxygen are derivative works derived from the␊ |
12 | * input used in their production; they are not affected by this license.␊ |
13 | *␊ |
14 | * Sebastian Pipping <sebastian@pipping.org>␊ |
15 | */␊ |
16 | ␊ |
17 | #include "indexlog.h"␊ |
18 | #include "message.h"␊ |
19 | #include "config.h"␊ |
20 | ␊ |
21 | #include <qstring.h>␊ |
22 | #include <qfile.h>␊ |
23 | ␊ |
24 | ␊ |
25 | IndexLog::IndexLog()␊ |
26 | {␊ |
27 | }␊ |
28 | ␊ |
29 | IndexLog::~IndexLog()␊ |
30 | {␊ |
31 | }␊ |
32 | ␊ |
33 | void IndexLog::initialize()␊ |
34 | {␊ |
35 | char const * const attributes[] =␊ |
36 | { "xmlns", ␊ |
37 | "http://doxygen.org/xmlns/indexlog/1/0/",␊ |
38 | NULL ␊ |
39 | };␊ |
40 | m_out.open("log", attributes);␊ |
41 | ␊ |
42 | openMethodCall("initialize");␊ |
43 | closeMethodCall();␊ |
44 | }␊ |
45 | ␊ |
46 | void IndexLog::finalize()␊ |
47 | {␊ |
48 | openMethodCall("finalize");␊ |
49 | closeMethodCall();␊ |
50 | m_out.close("log");␊ |
51 | QCString fileName = Config_getString("HTML_OUTPUT")+"/index.log.xml";␊ |
52 | QFile file(fileName);␊ |
53 | if (!file.open(IO_WriteOnly))␊ |
54 | {␊ |
55 | err("Could not open file %s for writing\n", fileName.data());␊ |
56 | exit(1);␊ |
57 | }␊ |
58 | m_out.dumpTo(file);␊ |
59 | file.flush();␊ |
60 | file.close();␊ |
61 | }␊ |
62 | ␊ |
63 | void IndexLog::incContentsDepth()␊ |
64 | {␊ |
65 | openMethodCall("incContentsDepth");␊ |
66 | closeMethodCall();␊ |
67 | }␊ |
68 | ␊ |
69 | void IndexLog::decContentsDepth()␊ |
70 | {␊ |
71 | openMethodCall("decContentsDepth");␊ |
72 | closeMethodCall();␊ |
73 | }␊ |
74 | ␊ |
75 | void IndexLog::addContentsItem(bool isDir, char const * name,␊ |
76 | char const * ref, char const * file, ␊ |
77 | char const * anchor)␊ |
78 | {␊ |
79 | openMethodCall("addContentsItem");␊ |
80 | addBoolParameter("isDir", isDir);␊ |
81 | addStringParameter("name", name);␊ |
82 | addStringParameter("ref", ref);␊ |
83 | addStringParameter("file", file);␊ |
84 | addStringParameter("anchor", anchor);␊ |
85 | closeMethodCall();␊ |
86 | }␊ |
87 | ␊ |
88 | void IndexLog::addIndexItem(char const * level1, char const * level2,␊ |
89 | char const * contRef, char const * memRef, ␊ |
90 | char const * anchor, const MemberDef * md)␊ |
91 | {␊ |
92 | openMethodCall("addIndexItem");␊ |
93 | addStringParameter("level1", level1);␊ |
94 | addStringParameter("level2", level2);␊ |
95 | addStringParameter("contRef", contRef);␊ |
96 | addStringParameter("memRef", memRef);␊ |
97 | addStringParameter("anchor", anchor);␊ |
98 | addMemberDefParameter("md", md);␊ |
99 | closeMethodCall();␊ |
100 | }␊ |
101 | ␊ |
102 | void IndexLog::addIndexFile(char const * name)␊ |
103 | {␊ |
104 | openMethodCall("addIndexFile");␊ |
105 | addStringParameter("name", name);␊ |
106 | closeMethodCall();␊ |
107 | }␊ |
108 | ␊ |
109 | void IndexLog::openMethodCall(char const * methodName)␊ |
110 | {␊ |
111 | m_out.setCompressionEnabled(true);␊ |
112 | m_out.open("call");␊ |
113 | m_out.openCloseContent("method", methodName);␊ |
114 | }␊ |
115 | ␊ |
116 | void IndexLog::addPrimitiveParameter(char const * parameterName,␊ |
117 | char const * value)␊ |
118 | {␊ |
119 | m_out.open("param");␊ |
120 | m_out.openCloseContent("name", parameterName);␊ |
121 | if (value != NULL)␊ |
122 | {␊ |
123 | m_out.openCloseContent("value", value);␊ |
124 | }␊ |
125 | m_out.close("param");␊ |
126 | }␊ |
127 | ␊ |
128 | void IndexLog::addBoolParameter(char const * parameterName, bool value)␊ |
129 | {␊ |
130 | addPrimitiveParameter(parameterName, value ? "true" : "false");␊ |
131 | }␊ |
132 | ␊ |
133 | void IndexLog::addStringParameter(char const * parameterName,␊ |
134 | char const * value)␊ |
135 | {␊ |
136 | addPrimitiveParameter(parameterName, value);␊ |
137 | }␊ |
138 | ␊ |
139 | void IndexLog::addMemberDefParameter(char const * parameterName,␊ |
140 | const MemberDef * /*value*/)␊ |
141 | {␊ |
142 | m_out.open("param");␊ |
143 | m_out.openCloseContent("name", parameterName);␊ |
144 | m_out.close("param");␊ |
145 | }␊ |
146 | ␊ |
147 | void IndexLog::closeMethodCall()␊ |
148 | {␊ |
149 | m_out.setCompressionEnabled(false);␊ |
150 | m_out.close("call");␊ |
151 | }␊ |
152 | ␊ |
153 |