1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27
28#ifndef __com_sun_star_i18n_XNumberFormatCode_idl__
29#define __com_sun_star_i18n_XNumberFormatCode_idl__
30
31#ifndef __com_sun_star_lang_Locale_idl__
32#include <com/sun/star/lang/Locale.idl>
33#endif
34#include <com/sun/star/uno/XInterface.idl>
35#include <com/sun/star/i18n/NumberFormatCode.idl>
36
37//=============================================================================
38
39module com { module sun { module star { module i18n {
40
41//=============================================================================
42
43/**
44    Access number format codes defined in locale data.
45 */
46
47published interface XNumberFormatCode : com::sun::star::uno::XInterface
48{
49    //------------------------------------------------------------------------
50    /**
51        returns the default number format code of a specific category
52        (usage group) for a given locale and format length type.
53
54        @param nFormatType
55            one of the constants listed in <type>KNumberFormatType</type>
56
57        @param nFormatUsage
58            one of <type>KNumberFormatUsage</type> values
59     */
60    NumberFormatCode getDefault( [in] short nFormatType,
61                                 [in] short nFormatUsage,
62                                 [in] com::sun::star::lang::Locale rLocale );
63
64    //------------------------------------------------------------------------
65    /**
66        returns the number format pointed to by <em>nFormatIndex</em> for
67        a given locale.
68
69        @param nFormatIndex
70            one of <type>NumberFormatIndex</type> values
71     */
72    NumberFormatCode getFormatCode( [in] short nFormatIndex,
73                                    [in] com::sun::star::lang::Locale rLocale );
74
75    //------------------------------------------------------------------------
76    /**
77        returns all format codes for a given <em>nFormatUsage</em> and locale.
78
79        @param nFormatUsage
80            one of <type>KNumberFormatUsage</type> values
81     */
82    sequence< NumberFormatCode > getAllFormatCode(
83                                [in] short nFormatUsage,
84                                [in] com::sun::star::lang::Locale rLocale );
85
86    //------------------------------------------------------------------------
87    /**
88        returns all format codes for a given locale.
89     */
90    sequence< NumberFormatCode > getAllFormatCodes(
91                                [in] com::sun::star::lang::Locale rLocale );
92
93};
94
95//=============================================================================
96}; }; }; };
97#endif
98