/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#ifndef __com_sun_star_i18n_Currency_idl__
#define __com_sun_star_i18n_Currency_idl__


module com { module sun { module star { module i18n {


/**
    Symbols, names, and attributes of a specific currency, returned in a
    sequence by XLocaleData::getAllCurrencies().

    @see XLocaleData
        for links to DTD of XML locale data files.
 */

published struct Currency
{
    /** ISO 4217 currency code identifier, for example, <b>EUR</b> or
        <b>USD</b>. */
    string ID;

    /** Currency symbol, for example, <b>$</b>. */
    string Symbol;

    /** Currency abbreviation used by banks and in money exchange, for
        example, <b>EUR</b> or <b>USD</b>. This usually should be
        identical to the ISO 4217 currency code also used in the
        #ID, but doesn't necessarily have to be. */
    string BankSymbol;

    /** Name of the currency, for example, <b>Euro</b> or <b>US
        Dollar</b>. Should be the localized name. */
    string Name;

    /** If this currency is the default currency for a given locale. */
    boolean Default;

    /** If this currency is the one used in compatible number format codes with
        FormatElement::formatIndex() values in the range 12..17.
        Those format codes are used to generate some old style currency format
        codes for compatibility with StarOffice5 and StarOffice4.

        @see com::sun::star::i18n::NumberFormatIndex
     */
    boolean UsedInCompatibleFormatCodes;

    /** The number of decimal places, for example, <b>2</b> for US Dollar
        or <b>0</b> for Italian Lira.  */
    short DecimalPlaces;
};

}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
