/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 . */ #ifndef __com_sun_star_uri_XUriSchemeParser_idl__ #define __com_sun_star_uri_XUriSchemeParser_idl__ #include #include module com { module sun { module star { module uri { /** parses textual representations of absolute URIs.

See RFC 3986 for a description of URIs and related terms.

@since OOo 2.0 */ published interface XUriSchemeParser: com::sun::star::uno::XInterface { /** parses the textual representation of an absolute URI.

This method is used to parse URIs (with no fragment part), not URI references (with an optional fragment part).

If an object is returned, the behaviour of its com::sun::star::uri::XUriReference methods must reflect the fact that the object represents an absolute URI reference with the given scheme and scheme-specific part, and without a fragment part.

@param scheme the textual representation of the scheme part (without the delimiting “:”). @param schemeSpecificPart the textual representation of the scheme-specific part. @returns an object that supports com::sun::star::uri::XUriReference (and possibly also additional, scheme-specific interfaces), if the given input can be parsed into an absolute URI; otherwise, `NULL` is returned. */ XUriReference parse([in] string scheme, [in] string schemeSpecificPart); }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */