xref: /trunk/main/fpicker/source/aqua/NSString_OOoAdditions.cxx (revision cf6516809c57e1bb0a940545cca99cdad54d4ce2)
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