1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef _CFSTRINGUTILITIES_HXX_ 29 #define _CFSTRINGUTILITIES_HXX_ 30 31 #include <premac.h> 32 #include <Carbon/Carbon.h> 33 #include <Cocoa/Cocoa.h> 34 #include <postmac.h> 35 #include <rtl/ustring.hxx> 36 #include <sal/types.h> 37 #include <osl/diagnose.h> 38 39 enum InfoType { 40 FULLPATH, 41 FILENAME, 42 PATHWITHOUTLASTCOMPONENT 43 }; 44 45 rtl::OUString CFStringToOUString(const CFStringRef sOrig); 46 rtl::OUString FSRefToOUString(FSRef fsRef, InfoType info = FULLPATH); 47 rtl::OUString CFURLRefToOUString(CFURLRef aUrlRef, InfoType info); 48 CFStringRef CFStringCreateWithOUString(const rtl::OUString& aString); 49 50 //debug utils 51 #define PARAMFILLER "\n " 52 53 inline void DBG_PRINT_ENTRY() { 54 OSL_TRACE(">>> %s", __func__); 55 } 56 57 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname) { 58 OSL_TRACE(">>> %s::%s", classname, methodname); 59 } 60 61 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const char* value1) { 62 OSL_TRACE(">>> %s::%s%s%s = %s", classname, methodname, PARAMFILLER, param1, value1); 63 } 64 65 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const rtl::OUString& value1) { 66 OSL_TRACE(">>> %s::%s%s%s = %s", classname, methodname, PARAMFILLER, param1, OUStringToOString(value1, RTL_TEXTENCODING_UTF8).getStr()); 67 } 68 69 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const CFStringRef value1) { 70 OSL_TRACE(">>> %s::%s%s%s =", classname, methodname, PARAMFILLER, param1); 71 #if OSL_DEBUG_LEVEL > 1 72 CFShow(value1); 73 #endif 74 } 75 76 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const NSString* value1) { 77 OSL_TRACE(">>> %s::%s%s%s =", classname, methodname, PARAMFILLER, param1); 78 #if OSL_DEBUG_LEVEL > 1 79 NSLog(value1); 80 #endif 81 } 82 83 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const int value1) { 84 OSL_TRACE(">>> %s::%s%s%s = %d", classname, methodname, PARAMFILLER, param1, value1); 85 } 86 87 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const char* value1, const char* param2, const int value2) { 88 OSL_TRACE(">>> %s::%s%s%s = %s%s%s = %d", classname, methodname, PARAMFILLER, param1, value1, PARAMFILLER, param2, value2); 89 } 90 91 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const char* value1, const char* param2, const char* value2) { 92 OSL_TRACE(">>> %s::%s%s%s = %s%s%s = %s", classname, methodname, PARAMFILLER, param1, value1, PARAMFILLER, param2, value2); 93 } 94 95 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const int value1, const char* param2, const int value2) { 96 OSL_TRACE(">>> %s::%s%s%s = %d%s%s = %d", classname, methodname, PARAMFILLER, param1, value1, PARAMFILLER, param2, value2); 97 } 98 99 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const int value1, const char* param2, const char* value2) { 100 OSL_TRACE(">>> %s::%s%s%s = %d%s%s = %s", classname, methodname, PARAMFILLER, param1, value1, PARAMFILLER, param2, value2); 101 } 102 103 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const int value1, const char* param2, const CFStringRef value2) { 104 OSL_TRACE(">>> %s::%s%s%s = %d%s%s =", classname, methodname, PARAMFILLER, param1, value1, PARAMFILLER, param2, value2); 105 #if OSL_DEBUG_LEVEL > 1 106 CFShow(value2); 107 #endif 108 } 109 110 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const int value1, const char* param2, const NSString* value2) { 111 OSL_TRACE(">>> %s::%s%s%s = %d%s%s =", classname, methodname, PARAMFILLER, param1, value1, PARAMFILLER, param2, value2); 112 #if OSL_DEBUG_LEVEL > 1 113 NSLog(value2); 114 #endif 115 } 116 117 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const rtl::OUString& value1, const char* param2, const rtl::OUString& value2) { 118 OSL_TRACE(">>> %s::%s%s%s = %s%s%s = %s", classname, methodname, PARAMFILLER, param1, OUStringToOString(value1, RTL_TEXTENCODING_UTF8).getStr(), PARAMFILLER, param2, OUStringToOString(value2, RTL_TEXTENCODING_UTF8).getStr()); 119 } 120 121 inline void DBG_PRINT_ENTRY(const char * classname, const char * methodname, const char* param1, const rtl::OUString& value1, const char* param2, const int value2) { 122 OSL_TRACE(">>> %s::%s%s%s = %s%s%s = %d", classname, methodname, PARAMFILLER, param1, OUStringToOString(value1, RTL_TEXTENCODING_UTF8).getStr(), PARAMFILLER, param2, value2); 123 } 124 125 //exit method debugs 126 127 inline void DBG_PRINT_EXIT() { 128 OSL_TRACE("<<< %s", __func__); 129 } 130 131 inline void DBG_PRINT_EXIT(const char * classname, const char * methodname) { 132 OSL_TRACE("<<< %s::%s", classname, methodname); 133 } 134 135 inline void DBG_PRINT_EXIT(const char * classname, const char * methodname, const char* retVal) { 136 OSL_TRACE("<<< %s::%s%sreturnValue = %s", classname, methodname, PARAMFILLER, retVal); 137 } 138 139 inline void DBG_PRINT_EXIT(const char * classname, const char * methodname, int retVal) { 140 OSL_TRACE("<<< %s::%s%sreturnValue = %d", classname, methodname, PARAMFILLER, retVal); 141 } 142 143 inline void DBG_PRINT_EXIT(const char * classname, const char * methodname, const CFStringRef retVal) { 144 OSL_TRACE("<<< %s::%s%sreturnValue = ", classname, methodname, PARAMFILLER); 145 #if OSL_DEBUG_LEVEL > 1 146 CFShow(retVal); 147 #endif 148 } 149 150 inline void DBG_PRINT_EXIT(const char * classname, const char * methodname, const NSString* retVal) { 151 OSL_TRACE("<<< %s::%s%sreturnValue = ", classname, methodname, PARAMFILLER); 152 #if OSL_DEBUG_LEVEL > 1 153 NSLog(retVal); 154 #endif 155 } 156 157 inline void DBG_PRINT_EXIT(const char * classname, const char * methodname, const rtl::OUString& retVal) { 158 OSL_TRACE("<<< %s::%s%sreturnValue = %s", classname, methodname, PARAMFILLER, OUStringToOString(retVal, RTL_TEXTENCODING_UTF8).getStr()); 159 } 160 161 #endif //_CFSTRINGUTILITIES_HXX_ 162