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#ifndef __com_sun_star_i18n_ParseResult_idl__
24#define __com_sun_star_i18n_ParseResult_idl__
25
26//============================================================================
27
28module com {  module sun {  module star {  module i18n {
29
30//============================================================================
31
32/**
33    Parser results returned by
34    <member>XCharacterClassification::parseAnyToken()</member> and
35    <member>XCharacterClassification::parsePredefinedToken()</member>.
36 */
37
38published struct ParseResult
39{
40    /** Count of ignored leading whitespace, in code points, not
41        characters. */
42    long    LeadingWhiteSpace;
43
44    /** Code point index of first unprocessed character. */
45    long    EndPos;
46
47    /** Number of characters (not code points) of the parsed token, not
48        including leading whitespace. */
49    long    CharLen;
50
51    /** Value of token in case of numeric. */
52    double  Value;
53
54    /** <type>KParseType</type> token type like
55        <const>KParseType::IDENTNAME</const>. */
56    long    TokenType;
57
58    /** <type>KParseTokens</type> flags of first character of actual
59        token matched. If <em>TokenType</em> is a
60        <const>KParseType::SINGLE_QUOTE_NAME</const> or a
61        <const>KParseType::DOUBLE_QUOTE_STRING</const> the first
62        character is the first character inside the quotes, not the
63        quote itself. */
64    long    StartFlags;
65
66    /** <type>KParseTokens</type> flags of remaining characters of
67        actual token matched. */
68    long    ContFlags;
69
70    /** If a quoted name or string is encountered the dequoted result
71        goes here. */
72    string  DequotedNameOrString;
73
74};
75
76//============================================================================
77}; }; }; };
78
79#endif
80