1*b4a4f18cSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*b4a4f18cSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*b4a4f18cSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*b4a4f18cSAndrew Rist  * distributed with this work for additional information
6*b4a4f18cSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*b4a4f18cSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*b4a4f18cSAndrew Rist  * "License"); you may not use this file except in compliance
9*b4a4f18cSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*b4a4f18cSAndrew Rist  *
11*b4a4f18cSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*b4a4f18cSAndrew Rist  *
13*b4a4f18cSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*b4a4f18cSAndrew Rist  * software distributed under the License is distributed on an
15*b4a4f18cSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b4a4f18cSAndrew Rist  * KIND, either express or implied.  See the License for the
17*b4a4f18cSAndrew Rist  * specific language governing permissions and limitations
18*b4a4f18cSAndrew Rist  * under the License.
19*b4a4f18cSAndrew Rist  *
20*b4a4f18cSAndrew Rist  *************************************************************/
21*b4a4f18cSAndrew Rist 
22*b4a4f18cSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #include <rtl/ustrbuf.hxx>
25cdf0e10cSrcweir #include <resourcemodel/LoggedResources.hxx>
26cdf0e10cSrcweir #include <resourcemodel/QNameToString.hxx>
27cdf0e10cSrcweir 
28cdf0e10cSrcweir namespace writerfilter
29cdf0e10cSrcweir {
30cdf0e10cSrcweir 
31cdf0e10cSrcweir // class: LoggedResourcesHelper
32cdf0e10cSrcweir 
LoggedResourcesHelper(TagLogger::Pointer_t pLogger,const string & sPrefix)33cdf0e10cSrcweir LoggedResourcesHelper::LoggedResourcesHelper(TagLogger::Pointer_t pLogger, const string & sPrefix)
34cdf0e10cSrcweir : mpLogger(pLogger), msPrefix(sPrefix)
35cdf0e10cSrcweir {
36cdf0e10cSrcweir }
37cdf0e10cSrcweir 
~LoggedResourcesHelper()38cdf0e10cSrcweir LoggedResourcesHelper::~LoggedResourcesHelper()
39cdf0e10cSrcweir {
40cdf0e10cSrcweir }
41cdf0e10cSrcweir 
startElement(const string & sElement)42cdf0e10cSrcweir void LoggedResourcesHelper::startElement(const string & sElement)
43cdf0e10cSrcweir {
44cdf0e10cSrcweir     mpLogger->startElement(msPrefix + "." + sElement);
45cdf0e10cSrcweir }
46cdf0e10cSrcweir 
endElement(const string & sElement)47cdf0e10cSrcweir void LoggedResourcesHelper::endElement(const string & sElement)
48cdf0e10cSrcweir {
49cdf0e10cSrcweir     mpLogger->endElement(msPrefix + "." + sElement);
50cdf0e10cSrcweir }
51cdf0e10cSrcweir 
chars(const::rtl::OUString & rChars)52cdf0e10cSrcweir void LoggedResourcesHelper::chars(const ::rtl::OUString & rChars)
53cdf0e10cSrcweir {
54cdf0e10cSrcweir     mpLogger->chars(rChars);
55cdf0e10cSrcweir }
56cdf0e10cSrcweir 
chars(const string & rChars)57cdf0e10cSrcweir void LoggedResourcesHelper::chars(const string & rChars)
58cdf0e10cSrcweir {
59cdf0e10cSrcweir     mpLogger->chars(rChars);
60cdf0e10cSrcweir }
61cdf0e10cSrcweir 
attribute(const string & rName,const string & rValue)62cdf0e10cSrcweir void LoggedResourcesHelper::attribute(const string & rName, const string & rValue)
63cdf0e10cSrcweir {
64cdf0e10cSrcweir     mpLogger->attribute(rName, rValue);
65cdf0e10cSrcweir }
66cdf0e10cSrcweir 
attribute(const string & rName,sal_uInt32 nValue)67cdf0e10cSrcweir void LoggedResourcesHelper::attribute(const string & rName, sal_uInt32 nValue)
68cdf0e10cSrcweir {
69cdf0e10cSrcweir     mpLogger->attribute(rName, nValue);
70cdf0e10cSrcweir }
71cdf0e10cSrcweir 
setPrefix(const string & rPrefix)72cdf0e10cSrcweir void LoggedResourcesHelper::setPrefix(const string & rPrefix)
73cdf0e10cSrcweir {
74cdf0e10cSrcweir     msPrefix = rPrefix;
75cdf0e10cSrcweir }
76cdf0e10cSrcweir 
77cdf0e10cSrcweir // class: LoggedStream
78cdf0e10cSrcweir 
LoggedStream(TagLogger::Pointer_t pLogger,const string & sPrefix)79cdf0e10cSrcweir LoggedStream::LoggedStream(TagLogger::Pointer_t pLogger, const string & sPrefix)
80cdf0e10cSrcweir : mHelper(pLogger, sPrefix)
81cdf0e10cSrcweir {
82cdf0e10cSrcweir }
83cdf0e10cSrcweir 
~LoggedStream()84cdf0e10cSrcweir LoggedStream::~LoggedStream()
85cdf0e10cSrcweir {
86cdf0e10cSrcweir }
87cdf0e10cSrcweir 
startSectionGroup()88cdf0e10cSrcweir void LoggedStream::startSectionGroup()
89cdf0e10cSrcweir {
90cdf0e10cSrcweir #ifdef DEBUG_LOGGING
91cdf0e10cSrcweir     mHelper.startElement("section");
92cdf0e10cSrcweir #endif
93cdf0e10cSrcweir 
94cdf0e10cSrcweir     lcl_startSectionGroup();
95cdf0e10cSrcweir }
96cdf0e10cSrcweir 
endSectionGroup()97cdf0e10cSrcweir void LoggedStream::endSectionGroup()
98cdf0e10cSrcweir {
99cdf0e10cSrcweir     lcl_endSectionGroup();
100cdf0e10cSrcweir 
101cdf0e10cSrcweir #ifdef DEBUG_LOGGING
102cdf0e10cSrcweir     mHelper.endElement("section");
103cdf0e10cSrcweir #endif
104cdf0e10cSrcweir }
105cdf0e10cSrcweir 
startParagraphGroup()106cdf0e10cSrcweir void LoggedStream::startParagraphGroup()
107cdf0e10cSrcweir {
108cdf0e10cSrcweir #ifdef DEBUG_LOGGING
109cdf0e10cSrcweir     mHelper.startElement("paragraph");
110cdf0e10cSrcweir #endif
111cdf0e10cSrcweir 
112cdf0e10cSrcweir     lcl_startParagraphGroup();
113cdf0e10cSrcweir }
114cdf0e10cSrcweir 
endParagraphGroup()115cdf0e10cSrcweir void LoggedStream::endParagraphGroup()
116cdf0e10cSrcweir {
117cdf0e10cSrcweir     lcl_endParagraphGroup();
118cdf0e10cSrcweir 
119cdf0e10cSrcweir #ifdef DEBUG_LOGGING
120cdf0e10cSrcweir     mHelper.endElement("paragraph");
121cdf0e10cSrcweir #endif
122cdf0e10cSrcweir }
123cdf0e10cSrcweir 
124cdf0e10cSrcweir 
startCharacterGroup()125cdf0e10cSrcweir void LoggedStream::startCharacterGroup()
126cdf0e10cSrcweir {
127cdf0e10cSrcweir #ifdef DEBUG_LOGGING
128cdf0e10cSrcweir     mHelper.startElement("charactergroup");
129cdf0e10cSrcweir #endif
130cdf0e10cSrcweir 
131cdf0e10cSrcweir     lcl_startCharacterGroup();
132cdf0e10cSrcweir }
133cdf0e10cSrcweir 
endCharacterGroup()134cdf0e10cSrcweir void LoggedStream::endCharacterGroup()
135cdf0e10cSrcweir {
136cdf0e10cSrcweir     lcl_endCharacterGroup();
137cdf0e10cSrcweir 
138cdf0e10cSrcweir #ifdef DEBUG_LOGGING
139cdf0e10cSrcweir     mHelper.endElement("charactergroup");
140cdf0e10cSrcweir #endif
141cdf0e10cSrcweir }
142cdf0e10cSrcweir 
startShape(::com::sun::star::uno::Reference<::com::sun::star::drawing::XShape> xShape)143cdf0e10cSrcweir void LoggedStream::startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape )
144cdf0e10cSrcweir {
145cdf0e10cSrcweir #ifdef DEBUG_LOGGING
146cdf0e10cSrcweir     mHelper.startElement("shape");
147cdf0e10cSrcweir #endif
148cdf0e10cSrcweir 
149cdf0e10cSrcweir     lcl_startShape(xShape);
150cdf0e10cSrcweir }
151cdf0e10cSrcweir 
endShape()152cdf0e10cSrcweir void LoggedStream::endShape()
153cdf0e10cSrcweir {
154cdf0e10cSrcweir     lcl_endShape();
155cdf0e10cSrcweir 
156cdf0e10cSrcweir #ifdef DEBUG_LOGGING
157cdf0e10cSrcweir     mHelper.endElement("shape");
158cdf0e10cSrcweir #endif
159cdf0e10cSrcweir }
160cdf0e10cSrcweir 
text(const sal_uInt8 * data,size_t len)161cdf0e10cSrcweir void LoggedStream::text(const sal_uInt8 * data, size_t len)
162cdf0e10cSrcweir {
163cdf0e10cSrcweir #ifdef DEBUG_LOGGING
164cdf0e10cSrcweir     mHelper.startElement("text");
165cdf0e10cSrcweir 
166cdf0e10cSrcweir     ::rtl::OUString sText( (const sal_Char*) data, len, RTL_TEXTENCODING_MS_1252 );
167cdf0e10cSrcweir 
168cdf0e10cSrcweir     mHelper.startElement("data");
169cdf0e10cSrcweir     mHelper.chars(sText);
170cdf0e10cSrcweir     mHelper.endElement("data");
171cdf0e10cSrcweir #endif
172cdf0e10cSrcweir 
173cdf0e10cSrcweir     lcl_text(data, len);
174cdf0e10cSrcweir 
175cdf0e10cSrcweir #ifdef DEBUG_LOGGING
176cdf0e10cSrcweir     mHelper.endElement("text");
177cdf0e10cSrcweir #endif
178cdf0e10cSrcweir }
179cdf0e10cSrcweir 
utext(const sal_uInt8 * data,size_t len)180cdf0e10cSrcweir void LoggedStream::utext(const sal_uInt8 * data, size_t len)
181cdf0e10cSrcweir {
182cdf0e10cSrcweir #ifdef DEBUG_LOGGING
183cdf0e10cSrcweir     mHelper.startElement("utext");
184cdf0e10cSrcweir     mHelper.startElement("data");
185cdf0e10cSrcweir 
186cdf0e10cSrcweir     ::rtl::OUString sText;
187cdf0e10cSrcweir     ::rtl::OUStringBuffer aBuffer = ::rtl::OUStringBuffer(len);
188cdf0e10cSrcweir     aBuffer.append( (const sal_Unicode *) data, len);
189cdf0e10cSrcweir     sText = aBuffer.makeStringAndClear();
190cdf0e10cSrcweir 
191cdf0e10cSrcweir     mHelper.chars(sText);
192cdf0e10cSrcweir 
193cdf0e10cSrcweir     mHelper.endElement("data");
194cdf0e10cSrcweir #endif
195cdf0e10cSrcweir 
196cdf0e10cSrcweir     lcl_utext(data, len);
197cdf0e10cSrcweir 
198cdf0e10cSrcweir #ifdef DEBUG_LOGGING
199cdf0e10cSrcweir     mHelper.endElement("utext");
200cdf0e10cSrcweir #endif
201cdf0e10cSrcweir }
202cdf0e10cSrcweir 
props(writerfilter::Reference<Properties>::Pointer_t ref)203cdf0e10cSrcweir void LoggedStream::props(writerfilter::Reference<Properties>::Pointer_t ref)
204cdf0e10cSrcweir {
205cdf0e10cSrcweir #ifdef DEBUG_LOGGING
206cdf0e10cSrcweir     mHelper.startElement("props");
207cdf0e10cSrcweir #endif
208cdf0e10cSrcweir 
209cdf0e10cSrcweir     lcl_props(ref);
210cdf0e10cSrcweir 
211cdf0e10cSrcweir #ifdef DEBUG_LOGGING
212cdf0e10cSrcweir     mHelper.endElement("props");
213cdf0e10cSrcweir #endif
214cdf0e10cSrcweir }
215cdf0e10cSrcweir 
table(Id name,writerfilter::Reference<Table>::Pointer_t ref)216cdf0e10cSrcweir void LoggedStream::table(Id name, writerfilter::Reference<Table>::Pointer_t ref)
217cdf0e10cSrcweir {
218cdf0e10cSrcweir #ifdef DEBUG_LOGGING
219cdf0e10cSrcweir     mHelper.startElement("table");
220cdf0e10cSrcweir     mHelper.attribute("name", (*QNameToString::Instance())(name));
221cdf0e10cSrcweir #endif
222cdf0e10cSrcweir 
223cdf0e10cSrcweir     lcl_table(name, ref);
224cdf0e10cSrcweir 
225cdf0e10cSrcweir #ifdef DEBUG_LOGGING
226cdf0e10cSrcweir     mHelper.endElement("table");
227cdf0e10cSrcweir #endif
228cdf0e10cSrcweir }
229cdf0e10cSrcweir 
substream(Id name,writerfilter::Reference<Stream>::Pointer_t ref)230cdf0e10cSrcweir void LoggedStream::substream(Id name, writerfilter::Reference<Stream>::Pointer_t ref)
231cdf0e10cSrcweir {
232cdf0e10cSrcweir #ifdef DEBUG_LOGGING
233cdf0e10cSrcweir     mHelper.startElement("substream");
234cdf0e10cSrcweir     mHelper.attribute("name", (*QNameToString::Instance())(name));
235cdf0e10cSrcweir #endif
236cdf0e10cSrcweir 
237cdf0e10cSrcweir     lcl_substream(name, ref);
238cdf0e10cSrcweir 
239cdf0e10cSrcweir #ifdef DEBUG_LOGGING
240cdf0e10cSrcweir     mHelper.endElement("substream");
241cdf0e10cSrcweir #endif
242cdf0e10cSrcweir }
243cdf0e10cSrcweir 
info(const string & _info)244cdf0e10cSrcweir void LoggedStream::info(const string & _info)
245cdf0e10cSrcweir {
246cdf0e10cSrcweir #ifdef DEBUG_LOGGING
247cdf0e10cSrcweir     mHelper.startElement("info");
248cdf0e10cSrcweir     mHelper.attribute("text", _info);
249cdf0e10cSrcweir #endif
250cdf0e10cSrcweir 
251cdf0e10cSrcweir     lcl_info(_info);
252cdf0e10cSrcweir 
253cdf0e10cSrcweir #ifdef DEBUG_LOGGING
254cdf0e10cSrcweir     mHelper.endElement("info");
255cdf0e10cSrcweir #endif
256cdf0e10cSrcweir }
257cdf0e10cSrcweir 
258cdf0e10cSrcweir // class LoggedProperties
LoggedProperties(TagLogger::Pointer_t pLogger,const string & sPrefix)259cdf0e10cSrcweir LoggedProperties::LoggedProperties(TagLogger::Pointer_t pLogger, const string & sPrefix)
260cdf0e10cSrcweir : mHelper(pLogger, sPrefix)
261cdf0e10cSrcweir {
262cdf0e10cSrcweir }
263cdf0e10cSrcweir 
~LoggedProperties()264cdf0e10cSrcweir LoggedProperties::~LoggedProperties()
265cdf0e10cSrcweir {
266cdf0e10cSrcweir }
267cdf0e10cSrcweir 
attribute(Id name,Value & val)268cdf0e10cSrcweir void LoggedProperties::attribute(Id name, Value & val)
269cdf0e10cSrcweir {
270cdf0e10cSrcweir #ifdef DEBUG_LOGGING
271cdf0e10cSrcweir     mHelper.startElement("attribute");
272cdf0e10cSrcweir     mHelper.attribute("name", (*QNameToString::Instance())(name));
273cdf0e10cSrcweir     mHelper.attribute("value", val.toString());
274cdf0e10cSrcweir     mHelper.endElement("attribute");
275cdf0e10cSrcweir #endif
276cdf0e10cSrcweir 
277cdf0e10cSrcweir     lcl_attribute(name, val);
278cdf0e10cSrcweir }
279cdf0e10cSrcweir 
sprm(Sprm & _sprm)280cdf0e10cSrcweir void LoggedProperties::sprm(Sprm & _sprm)
281cdf0e10cSrcweir {
282cdf0e10cSrcweir #ifdef DEBUG_LOGGING
283cdf0e10cSrcweir     mHelper.startElement("sprm");
284cdf0e10cSrcweir     mHelper.attribute("name", (*QNameToString::Instance())(_sprm.getId()));
285cdf0e10cSrcweir     mHelper.chars(sprm.toString());
286cdf0e10cSrcweir #endif
287cdf0e10cSrcweir 
288cdf0e10cSrcweir     lcl_sprm(_sprm);
289cdf0e10cSrcweir 
290cdf0e10cSrcweir #ifdef DEBUG_LOGGING
291cdf0e10cSrcweir     mHelper.endElement("sprm");
292cdf0e10cSrcweir #endif
293cdf0e10cSrcweir }
294cdf0e10cSrcweir 
LoggedTable(TagLogger::Pointer_t pLogger,const string & sPrefix)295cdf0e10cSrcweir LoggedTable::LoggedTable(TagLogger::Pointer_t pLogger, const string & sPrefix)
296cdf0e10cSrcweir : mHelper(pLogger, sPrefix)
297cdf0e10cSrcweir {
298cdf0e10cSrcweir }
299cdf0e10cSrcweir 
~LoggedTable()300cdf0e10cSrcweir LoggedTable::~LoggedTable()
301cdf0e10cSrcweir {
302cdf0e10cSrcweir }
303cdf0e10cSrcweir 
entry(int pos,writerfilter::Reference<Properties>::Pointer_t ref)304cdf0e10cSrcweir void LoggedTable::entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref)
305cdf0e10cSrcweir {
306cdf0e10cSrcweir #ifdef DEBUG_LOGGING
307cdf0e10cSrcweir     mHelper.startElement("entry");
308cdf0e10cSrcweir     mHelper.attribute("pos", pos);
309cdf0e10cSrcweir #endif
310cdf0e10cSrcweir 
311cdf0e10cSrcweir     lcl_entry(pos, ref);
312cdf0e10cSrcweir 
313cdf0e10cSrcweir #ifdef DEBUG_LOGGING
314cdf0e10cSrcweir     mHelper.endElement("entry");
315cdf0e10cSrcweir #endif
316cdf0e10cSrcweir }
317cdf0e10cSrcweir 
318cdf0e10cSrcweir }
319