merge the formfield patch from ooo-build
[ooovba.git] / sd / source / ui / framework / configuration / ConfigurationTracer.cxx
blob7c883e489ce3fb7c2fc5f5b7b01e20437d5ec14b
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: ConfigurationTracer.cxx,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #include "precompiled_sd.hxx"
33 #include "ConfigurationTracer.hxx"
35 #include <cstdio>
37 using namespace ::com::sun::star::uno;
38 using namespace ::com::sun::star::drawing::framework;
40 namespace sd { namespace framework {
42 void ConfigurationTracer::TraceConfiguration (
43 const Reference<XConfiguration>& rxConfiguration,
44 const char* pMessage)
46 #ifdef DEBUG
47 OSL_TRACE("%s at %p {\n", pMessage, rxConfiguration.get());
48 if (rxConfiguration.is())
50 TraceBoundResources(rxConfiguration, NULL, 0);
52 else
54 OSL_TRACE(" empty\n");
56 OSL_TRACE("}\n");
57 #else
58 (void)rxConfiguration;
59 (void)pMessage;
60 #endif
66 void ConfigurationTracer::TraceBoundResources (
67 const Reference<XConfiguration>& rxConfiguration,
68 const Reference<XResourceId>& rxResourceId,
69 const int nIndentation)
71 #ifdef DEBUG
72 Sequence<Reference<XResourceId> > aResourceList (
73 rxConfiguration->getResources(rxResourceId, ::rtl::OUString(), AnchorBindingMode_DIRECT));
74 const ::rtl::OUString sIndentation (::rtl::OUString::createFromAscii(" "));
75 for (sal_Int32 nIndex=0; nIndex<aResourceList.getLength(); ++nIndex)
77 ::rtl::OUString sLine (aResourceList[nIndex]->getResourceURL());
78 for (int i=0; i<nIndentation; ++i)
79 sLine = sIndentation + sLine;
80 OSL_TRACE("%s\n", OUStringToOString(sLine, RTL_TEXTENCODING_UTF8).getStr());
81 TraceBoundResources(rxConfiguration, aResourceList[nIndex], nIndentation+1);
83 #else
84 (void)rxConfiguration;
85 (void)rxResourceId;
86 (void)nIndentation;
87 #endif
90 } } // end of namespace sd::framework