/*************************************************************************
 *
 *  $RCSfile: KParseType.idl,v $
 *
 *  $Revision: 1.2.4.2 $
 *
 *  last change: $Author: mi $ $Date: 2003/01/21 17:44:29 $
 *
 *  The Contents of this file are made available subject to the terms of
 *  either of the following licenses
 *
 *         - GNU Lesser General Public License Version 2.1
 *         - Sun Industry Standards Source License Version 1.1
 *
 *  Sun Microsystems Inc., October, 2000
 *
 *  GNU Lesser General Public License Version 2.1
 *  =============================================
 *  Copyright 2000 by Sun Microsystems, Inc.
 *  901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License version 2.1, as published by the Free Software Foundation.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *  MA  02111-1307  USA
 *
 *
 *  Sun Industry Standards Source License Version 1.1
 *  =================================================
 *  The contents of this file are subject to the Sun Industry Standards
 *  Source License Version 1.1 (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.openoffice.org/license.html.
 *
 *  Software provided under this License is provided on an "AS IS" basis,
 *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
 *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
 *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
 *  See the License for the specific provisions governing your rights and
 *  obligations concerning the Software.
 *
 *  The Initial Developer of the Original Code is: Sun Microsystems, Inc.
 *
 *  Copyright: 2000 by Sun Microsystems, Inc.
 *
 *  All Rights Reserved.
 *
 *  Contributor(s): _______________________________________
 *
 *
 ************************************************************************/
#ifndef __com_sun_star_i18n_KParseType_idl__
#define __com_sun_star_i18n_KParseType_idl__

//============================================================================

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

//============================================================================

/**
    Constants to specify the type of a parsed token.

    <p> Set by
    <member>XCharacterClassification::parseAnyToken()</member> and
    <member>XCharacterClassification::parsePredefinedToken()</member> in
    <member>ParseResult::TokenType</member>. </p>
 */

constants KParseType
{
    /// One single character like ! # ; : $ et al.
    const long ONE_SINGLE_CHAR      = 0x00000001;

    // For human .idl readers: <, >, <>, =, <=, >=
    /// A Boolean operator like &lt;, &gt;, &lt;&gt;, =, &lt;=, &gt;=
    const long BOOLEAN              = 0x00000002;

    /// A name matching the conditions passed.
    const long IDENTNAME            = 0x00000004;


    // Hint for human .idl readers: do not get confused about the double
    // quotation marks, they are needed for the unoidl compiler which otherwise
    // gets confused about the single quotation marks.
    /** "A single-quoted name matching the conditions passed ( 'na\'me' )."
        "Dequoted name in <member>ParseResult::DequotedNameOrString</member> ( na'me )." */
    const long SINGLE_QUOTE_NAME    = 0x00000008;

    /** A double-quoted string ( "str\"i""ng" ). Dequoted string in
        <member>ParseResult::DequotedNameOrString</member> ( str"i"ng ). */
    const long DOUBLE_QUOTE_STRING  = 0x00000010;

    /** A number where all digits are ASCII characters.
        Numerical value in <member>ParseResult::Value</member>. */
    const long ASC_NUMBER           = 0x00000020;

    /** A number where at least some digits are Unicode (and maybe
        ASCII) characters. Numerical value inKParseType
        <member>ParseResult::Value</member>. */
    const long UNI_NUMBER           = 0x00000040;

    /** Set (ored) if SINGLE_QUOTE_NAME or DOUBLE_QUOTE_STRING has no
        closing quote. */
    const long MISSING_QUOTE        = 0x40000000;


    // useful combinations

    /// Any ASCII or Unicode number
    const long ANY_NUMBER           = ASC_NUMBER | UNI_NUMBER;
};

//============================================================================
}; }; }; };
//============================================================================
#endif
