/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef _CFSTRINGUTILITIES_HXX_ #include "CFStringUtilities.hxx" #endif #include "NSString_OOoAdditions.hxx" #define CLASS_NAME "NSString" @implementation NSString (OOoAdditions) + (id) stringWithOUString:(const rtl::OUString&)ouString { DBG_PRINT_ENTRY(CLASS_NAME, __func__, "ouString", ouString); NSString *string = [[NSString alloc] initWithOUString:ouString]; DBG_PRINT_EXIT(CLASS_NAME, __func__, string); return [string autorelease]; } - (id) initWithOUString:(const rtl::OUString&)ouString { DBG_PRINT_ENTRY(CLASS_NAME, __func__, "ouString", ouString); if ((self = [super init])) { self = [self initWithCharacters:ouString.getStr() length:ouString.getLength()]; DBG_PRINT_EXIT(CLASS_NAME, __func__, self); return self; } DBG_PRINT_EXIT(CLASS_NAME, __func__, self); return nil; } - (rtl::OUString) OUString { unsigned int nFileNameLength = [self length]; UniChar unichars[nFileNameLength+1]; //'close' the string buffer correctly unichars[nFileNameLength] = '\0'; [self getCharacters:unichars]; return rtl::OUString(unichars); } @end