update dev300-m58
[ooovba.git] / fpicker / source / aqua / NSString_OOoAdditions.mm
blobcc22cbc9c7b1b1402b2c3ecd52fae4134338457b
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: NSString_OOoAdditions.mm,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  ************************************************************************/
31 #ifndef _CFSTRINGUTILITIES_HXX_
32 #include "CFStringUtilities.hxx"
33 #endif
35 #include "NSString_OOoAdditions.hxx"
37 #define CLASS_NAME "NSString"
39 @implementation NSString (OOoAdditions) 
41 + (id) stringWithOUString:(const rtl::OUString&)ouString
43     DBG_PRINT_ENTRY(CLASS_NAME, __func__, "ouString", ouString);
45     NSString *string = [[NSString alloc] initWithOUString:ouString];
47     DBG_PRINT_EXIT(CLASS_NAME, __func__, string);
48     return [string autorelease];
51 - (id) initWithOUString:(const rtl::OUString&)ouString
53     DBG_PRINT_ENTRY(CLASS_NAME, __func__, "ouString", ouString);
54     if ((self = [super init])) {
55         self = [self initWithCharacters:ouString.getStr() length:ouString.getLength()];
56         
57         DBG_PRINT_EXIT(CLASS_NAME, __func__, self);
58         
59         return self;
60     }
61     
62     DBG_PRINT_EXIT(CLASS_NAME, __func__, self);
63     return nil;
66 - (rtl::OUString) OUString
68     unsigned int nFileNameLength = [self length];
70     UniChar unichars[nFileNameLength+1];
72     //'close' the string buffer correctly
73     unichars[nFileNameLength] = '\0';
75     [self getCharacters:unichars];
77     return rtl::OUString(unichars);
80 @end