1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #include "unotools/unotoolsdllapi.h"
24 
25 #ifndef _UNOTOOLS_NATIVENUMBERWRAPPER_HXX
26 #define _UNOTOOLS_NATIVENUMBERWRAPPER_HXX
27 #include <com/sun/star/i18n/XNativeNumberSupplier.hpp>
28 
29 namespace com { namespace sun { namespace star {
30     namespace lang {
31         class XMultiServiceFactory;
32     }
33 }}}
34 
35 
36 class UNOTOOLS_DLLPUBLIC NativeNumberWrapper
37 {
38     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xSMgr;
39     ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XNativeNumberSupplier >   xNNS;
40                                 // not implemented, prevent usage
41                                 NativeNumberWrapper( const NativeNumberWrapper& );
42             NativeNumberWrapper&    operator=( const NativeNumberWrapper& );
43 
44 public:
45                                 NativeNumberWrapper(
46                                     const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & xSF
47                                     );
48 
49                                 ~NativeNumberWrapper();
50 
51     // Wrapper implementations of XNativeNumberSupplier
52 
53     ::rtl::OUString getNativeNumberString(
54                         const ::rtl::OUString& rNumberString,
55                         const ::com::sun::star::lang::Locale& rLocale,
56                         sal_Int16 nNativeNumberMode ) const;
57 
58     sal_Bool        isValidNatNum(
59                         const ::com::sun::star::lang::Locale& rLocale,
60                         sal_Int16 nNativeNumberMode ) const;
61 
62     ::com::sun::star::i18n::NativeNumberXmlAttributes convertToXmlAttributes(
63                         const ::com::sun::star::lang::Locale& rLocale,
64                         sal_Int16 nNativeNumberMode ) const;
65 
66     sal_Int16       convertFromXmlAttributes(
67                         const ::com::sun::star::i18n::NativeNumberXmlAttributes& rAttr ) const;
68 
69 };
70 
71 #endif // _UNOTOOLS_NATIVENUMBERWRAPPER_HXX
72