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
24#ifndef __com_sun_star_uri_XUriSchemeParser_idl__
25#define __com_sun_star_uri_XUriSchemeParser_idl__
26
27#include <com/sun/star/uno/XInterface.idl>
28#include <com/sun/star/uri/XUriReference.idl>
29
30module com { module sun { module star { module uri {
31
32/**
33   parses textual representations of absolute URIs.
34
35   <p>See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC&nbsp;2396</a> for a
36   description of URIs and related terms.</p>
37
38   @since OpenOffice 2.0
39 */
40published interface XUriSchemeParser: com::sun::star::uno::XInterface {
41    /**
42       parses the textual representation of an absolute URI.
43
44       <p>This method is used to parse URIs (with no fragment part), not URI
45       references (with an optional fragment part).</p>
46
47       <p>If an object is returned, the behaviour of its
48       <type scope="com::sun::star::uri">XUriReference</type> methods must
49       reflect the fact that the object represents an absolute URI reference
50       with the given scheme and scheme-specific part, and without a fragment
51       part.</p>
52
53       @param scheme
54       the textual representation of the scheme part (without the delimiting
55       &ldquo;<code>:</code>&rdquo;).
56
57       @param uriReference
58       the textual representation of the scheme-specific part.
59
60       @returns
61       an object that supports
62       <type scope="com::sun::star::uri">XUriReference</type> (and possibly also
63       additional, scheme-specific interfaces), if the given input can be parsed
64       into an absolute URI; otherwise, <NULL/> is returned.
65     */
66    XUriReference parse([in] string scheme, [in] string schemeSpecificPart);
67};
68
69}; }; }; };
70
71#endif
72