1*b63233d8Sdamjan/**************************************************************
2*b63233d8Sdamjan *
3*b63233d8Sdamjan * Licensed to the Apache Software Foundation (ASF) under one
4*b63233d8Sdamjan * or more contributor license agreements.  See the NOTICE file
5*b63233d8Sdamjan * distributed with this work for additional information
6*b63233d8Sdamjan * regarding copyright ownership.  The ASF licenses this file
7*b63233d8Sdamjan * to you under the Apache License, Version 2.0 (the
8*b63233d8Sdamjan * "License"); you may not use this file except in compliance
9*b63233d8Sdamjan * with the License.  You may obtain a copy of the License at
10*b63233d8Sdamjan *
11*b63233d8Sdamjan *   http://www.apache.org/licenses/LICENSE-2.0
12*b63233d8Sdamjan *
13*b63233d8Sdamjan * Unless required by applicable law or agreed to in writing,
14*b63233d8Sdamjan * software distributed under the License is distributed on an
15*b63233d8Sdamjan * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b63233d8Sdamjan * KIND, either express or implied.  See the License for the
17*b63233d8Sdamjan * specific language governing permissions and limitations
18*b63233d8Sdamjan * under the License.
19*b63233d8Sdamjan *
20*b63233d8Sdamjan *************************************************************/
21*b63233d8Sdamjan
22*b63233d8Sdamjan
23*b63233d8Sdamjan
24*b63233d8Sdamjan#ifndef __com_sun_star_lang_SearchResult_idl__
25*b63233d8Sdamjan#define __com_sun_star_lang_SearchResult_idl__
26*b63233d8Sdamjan
27*b63233d8Sdamjan
28*b63233d8Sdamjan//=============================================================================
29*b63233d8Sdamjan
30*b63233d8Sdamjanmodule com { module sun { module star { module util {
31*b63233d8Sdamjan
32*b63233d8Sdamjan//=============================================================================
33*b63233d8Sdamjan
34*b63233d8Sdamjanpublished  struct SearchResult  {
35*b63233d8Sdamjan	//-------------------------------------------------------------------------
36*b63233d8Sdamjan	/** Number of subexpressions,
37*b63233d8Sdamjan	if it is 0, then no match found; this value is 1 for ABSOLUTE and APPROXIMATE match.
38*b63233d8Sdamjan	The start and endOffset are always dependent on the search direction.
39*b63233d8Sdamjan	For example:
40*b63233d8Sdamjan	if you search "X" in the text "-X-" the offset are:
41*b63233d8Sdamjan		for forward: 	start = 1, end = 2
42*b63233d8Sdamjan        for backward:   start = 2, end = 1
43*b63233d8Sdamjan    Forward, the startOffset is inclusive, the endOffset exclusive.
44*b63233d8Sdamjan    Backward, the startOffset is exclusive, the endOffset inclusive.
45*b63233d8Sdamjan
46*b63233d8Sdamjan	For regular expressions it can be greater than 1.
47*b63233d8Sdamjan	If the value is 1, startoffset[0] and endoffset[0] points to the matching sub string
48*b63233d8Sdamjan	if value is > 1, still startoffset[0] and endoffset[0] points to the matching substring for whole regular expression
49*b63233d8Sdamjan	startoffset[i] and endoffset[i] points to the matching substring of i th matching substring.
50*b63233d8Sdamjan	*/
51*b63233d8Sdamjan	long subRegExpressions;
52*b63233d8Sdamjan	sequence<long> startOffset;		// inclusive
53*b63233d8Sdamjan	sequence<long> endOffset;  		// exclusive
54*b63233d8Sdamjan};
55*b63233d8Sdamjan
56*b63233d8Sdamjan//=============================================================================
57*b63233d8Sdamjan}; }; }; };
58*b63233d8Sdamjan
59*b63233d8Sdamjan#endif
60*b63233d8Sdamjan
61