1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2008 by Sun Microsystems, Inc. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * $RCSfile: xmlstreamio.hxx,v $ 10 * $Revision: 1.3 $ 11 * 12 * This file is part of OpenOffice.org. 13 * 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. 17 * 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). 23 * 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. 28 * 29 ************************************************************************/ 30 31 #include "diagnose.hxx" 32 #include <stdio.h> 33 #include <stdarg.h> 34 #include "rtl/instance.hxx" 35 #include "rtl/bootstrap.hxx" 36 37 namespace xmlsecurity { 38 39 struct UseDiagnose : public rtl::StaticWithInit< 40 const bool, UseDiagnose> 41 { 42 bool operator () () const 43 { 44 ::rtl::OUString value; 45 sal_Bool res = rtl::Bootstrap::get( 46 ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("XMLSECURITY_TRACE")), value); 47 return res == sal_True ? true : false; 48 } 49 }; 50 51 /* the function will print the string when 52 - build with debug 53 - the bootstrap variable XMLSECURITY_TRACE is set. 54 */ 55 void xmlsec_trace(const char* pszFormat, ...) 56 { 57 bool bDebug = false; 58 59 #if OSL_DEBUG_LEVEL > 1 60 bDebug = true; 61 #endif 62 if (bDebug || UseDiagnose::get()) 63 { 64 va_list args; 65 fprintf(stderr, "[xmlsecurity] "); 66 va_start(args, pszFormat); 67 vfprintf(stderr, pszFormat, args); 68 va_end(args); 69 70 fprintf(stderr,"\n"); 71 fflush(stderr); 72 } 73 } 74 75 76 77 } 78