1*e8959efdSJim Jagielski /************************************************************** 2*e8959efdSJim Jagielski * 3*e8959efdSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*e8959efdSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*e8959efdSJim Jagielski * distributed with this work for additional information 6*e8959efdSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*e8959efdSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*e8959efdSJim Jagielski * "License"); you may not use this file except in compliance 9*e8959efdSJim Jagielski * with the License. You may obtain a copy of the License at 10*e8959efdSJim Jagielski * 11*e8959efdSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*e8959efdSJim Jagielski * 13*e8959efdSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*e8959efdSJim Jagielski * software distributed under the License is distributed on an 15*e8959efdSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*e8959efdSJim Jagielski * KIND, either express or implied. See the License for the 17*e8959efdSJim Jagielski * specific language governing permissions and limitations 18*e8959efdSJim Jagielski * under the License. 19*e8959efdSJim Jagielski * 20*e8959efdSJim Jagielski *************************************************************/ 21*e8959efdSJim Jagielski 22*e8959efdSJim Jagielski 23*e8959efdSJim Jagielski 24*e8959efdSJim Jagielski #ifndef _CFSTRINGUTILITIES_HXX_ 25*e8959efdSJim Jagielski #include "CFStringUtilities.hxx" 26*e8959efdSJim Jagielski #endif 27*e8959efdSJim Jagielski 28*e8959efdSJim Jagielski #include "NSString_OOoAdditions.hxx" 29*e8959efdSJim Jagielski 30*e8959efdSJim Jagielski #define CLASS_NAME "NSString" 31*e8959efdSJim Jagielski 32*e8959efdSJim Jagielski @implementation NSString (OOoAdditions) 33*e8959efdSJim Jagielski 34*e8959efdSJim Jagielski + (id) stringWithOUString:(const rtl::OUString&)ouString 35*e8959efdSJim Jagielski { 36*e8959efdSJim Jagielski DBG_PRINT_ENTRY(CLASS_NAME, __func__, "ouString", ouString); 37*e8959efdSJim Jagielski 38*e8959efdSJim Jagielski NSString *string = [[NSString alloc] initWithOUString:ouString]; 39*e8959efdSJim Jagielski 40*e8959efdSJim Jagielski DBG_PRINT_EXIT(CLASS_NAME, __func__, string); 41*e8959efdSJim Jagielski return [string autorelease]; 42*e8959efdSJim Jagielski } 43*e8959efdSJim Jagielski 44*e8959efdSJim Jagielski - (id) initWithOUString:(const rtl::OUString&)ouString 45*e8959efdSJim Jagielski { 46*e8959efdSJim Jagielski DBG_PRINT_ENTRY(CLASS_NAME, __func__, "ouString", ouString); 47*e8959efdSJim Jagielski if ((self = [super init])) { 48*e8959efdSJim Jagielski self = [self initWithCharacters:ouString.getStr() length:ouString.getLength()]; 49*e8959efdSJim Jagielski 50*e8959efdSJim Jagielski DBG_PRINT_EXIT(CLASS_NAME, __func__, self); 51*e8959efdSJim Jagielski 52*e8959efdSJim Jagielski return self; 53*e8959efdSJim Jagielski } 54*e8959efdSJim Jagielski 55*e8959efdSJim Jagielski DBG_PRINT_EXIT(CLASS_NAME, __func__, self); 56*e8959efdSJim Jagielski return nil; 57*e8959efdSJim Jagielski } 58*e8959efdSJim Jagielski 59*e8959efdSJim Jagielski - (rtl::OUString) OUString 60*e8959efdSJim Jagielski { 61*e8959efdSJim Jagielski unsigned int nFileNameLength = [self length]; 62*e8959efdSJim Jagielski 63*e8959efdSJim Jagielski UniChar unichars[nFileNameLength+1]; 64*e8959efdSJim Jagielski 65*e8959efdSJim Jagielski //'close' the string buffer correctly 66*e8959efdSJim Jagielski unichars[nFileNameLength] = '\0'; 67*e8959efdSJim Jagielski 68*e8959efdSJim Jagielski [self getCharacters:unichars]; 69*e8959efdSJim Jagielski 70*e8959efdSJim Jagielski return rtl::OUString(unichars); 71*e8959efdSJim Jagielski } 72*e8959efdSJim Jagielski 73*e8959efdSJim Jagielski @end 74