1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 *   Licensed to the Apache Software Foundation (ASF) under one or more
12 *   contributor license agreements. See the NOTICE file distributed
13 *   with this work for additional information regarding copyright
14 *   ownership. The ASF licenses this file to you under the Apache
15 *   License, Version 2.0 (the "License"); you may not use this file
16 *   except in compliance with the License. You may obtain a copy of
17 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19#ifndef __com_sun_star_i18n_ParseResult_idl__
20#define __com_sun_star_i18n_ParseResult_idl__
21
22
23module com {  module sun {  module star {  module i18n {
24
25
26/**
27    Parser results returned by
28    XCharacterClassification::parseAnyToken() and
29    XCharacterClassification::parsePredefinedToken().
30 */
31
32published struct ParseResult
33{
34    /** Count of ignored leading whitespace, in UTF-16 code units, not
35        Unicode code points. */
36    long    LeadingWhiteSpace;
37
38    /** UTF-16 code unit index of first unprocessed character. */
39    long    EndPos;
40
41    /** Number of code points (not UTF-16 code units) of the parsed token,
42        not including leading whitespace. */
43    long    CharLen;
44
45    /** Value of token in case of numeric. */
46    double  Value;
47
48    /** KParseType token type like
49        KParseType::IDENTNAME. */
50    long    TokenType;
51
52    /** KParseTokens flags of first character of actual
53        token matched. If <em>TokenType</em> is a
54        KParseType::SINGLE_QUOTE_NAME or a
55        KParseType::DOUBLE_QUOTE_STRING the first
56        character is the first character inside the quotes, not the
57        quote itself. */
58    long    StartFlags;
59
60    /** KParseTokens flags of remaining characters of
61        actual token matched. */
62    long    ContFlags;
63
64    /** If a quoted name or string is encountered the dequoted result
65        goes here. */
66    string  DequotedNameOrString;
67
68};
69
70}; }; }; };
71
72#endif
73
74/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
75