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#ifndef __com_sun_star_i18n_XLocaleData_idl__
28#define __com_sun_star_i18n_XLocaleData_idl__
29
30#include <com/sun/star/uno/XInterface.idl>
31#include <com/sun/star/lang/Locale.idl>
32#include <com/sun/star/i18n/LanguageCountryInfo.idl>
33#include <com/sun/star/i18n/Currency.idl>
34#include <com/sun/star/i18n/Calendar.idl>
35#include <com/sun/star/i18n/LocaleDataItem.idl>
36#include <com/sun/star/i18n/ForbiddenCharacters.idl>
37#include <com/sun/star/i18n/FormatElement.idl>
38#include <com/sun/star/i18n/Implementation.idl>
39
40//============================================================================
41
42module com { module sun { module star { module i18n {
43
44//============================================================================
45
46/**
47    Access locale specific data as it is defined in XML locale data
48    files compiled into the binary data libraries liblocaledata*.so
49    respectively localedata*.dll.
50
51    <p> For XML locale data files definitions see <a
52    href="http://l10n.openoffice.org/source/browse/l10n/i18npool/source/localedata/data/locale.dtd">
53    the DTD file </a> (or the <a
54    href="http://l10n.openoffice.org/source/browse/l10n/i18npool/source/localedata_ascii/Attic/locale.dtd">
55    old Attic version </a> for OOo1.0/SO6.0). </p>
56 */
57
58published interface XLocaleData: com::sun::star::uno::XInterface
59{
60    //------------------------------------------------------------------------
61    /** returns the LC_INFO locale information.
62     */
63    LanguageCountryInfo getLanguageCountryInfo(
64                                [in] com::sun::star::lang::Locale aLocale );
65
66    //------------------------------------------------------------------------
67    /** returns LC_CTYPE separators and markers.
68     */
69    LocaleDataItem      getLocaleItem(
70                                [in] com::sun::star::lang::Locale aLocale );
71
72    //------------------------------------------------------------------------
73    /** returns all LC_CALENDAR calendars for a locale.
74     */
75    sequence<Calendar>  getAllCalendars(
76                                [in] com::sun::star::lang::Locale aLocale );
77
78    //------------------------------------------------------------------------
79    /** returns all LC_CURRENCY currencies for a locale.
80     */
81    sequence<Currency>  getAllCurrencies(
82                                [in] com::sun::star::lang::Locale aLocale );
83
84    //------------------------------------------------------------------------
85    /** returns all LC_FORMAT format elements for a locale.
86     */
87    sequence<FormatElement> getAllFormats(
88                                [in] com::sun::star::lang::Locale aLocale );
89
90    //------------------------------------------------------------------------
91    /** returns all LC_COLLATION collators for a locale.
92     */
93    sequence<Implementation> getCollatorImplementations(
94                                [in] com::sun::star::lang::Locale aLocale );
95
96    //------------------------------------------------------------------------
97    /** returns all LC_SEARCH search options for a locale.
98     */
99    sequence<string>    getSearchOptions(
100                                [in] com::sun::star::lang::Locale aLocale );
101
102    //------------------------------------------------------------------------
103    /** returns all LC_COLLATION collation options for a locale.
104     */
105    sequence<string>    getCollationOptions(
106                                [in] com::sun::star::lang::Locale aLocale );
107
108    //------------------------------------------------------------------------
109    /** returns all LC_TRANSLITERATION transliterations for a locale.
110     */
111    sequence<string>    getTransliterations(
112                                [in] com::sun::star::lang::Locale aLocale );
113
114    //------------------------------------------------------------------------
115    /** returns all LC_MISC forbidden charatcers for a locale.
116     */
117    ForbiddenCharacters getForbiddenCharacters (
118                                [in] com::sun::star::lang::Locale aLocale );
119
120    //------------------------------------------------------------------------
121    /** returns all LC_MISC reserved words for a locale.
122
123        @see reservedWords
124     */
125    sequence<string>    getReservedWord(
126                                [in] com::sun::star::lang::Locale aLocale );
127
128    //------------------------------------------------------------------------
129    /** returns all available locales.
130     */
131    sequence<com::sun::star::lang::Locale> getAllInstalledLocaleNames();
132};
133
134//============================================================================
135}; }; }; };
136
137#endif
138