diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/util/URL.idl | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream.tar.xz libreoffice-upstream.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/util/URL.idl')
-rw-r--r-- | offapi/com/sun/star/util/URL.idl | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/offapi/com/sun/star/util/URL.idl b/offapi/com/sun/star/util/URL.idl new file mode 100644 index 000000000..45acd86d3 --- /dev/null +++ b/offapi/com/sun/star/util/URL.idl @@ -0,0 +1,112 @@ +/* -*- 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_util_URL_idl__ +#define __com_sun_star_util_URL_idl__ + + + +module com { module sun { module star { module util { + + +/** represents the structure of a Uniform Resource Locator. + + <p> + If the structure represents a valid URL or not depends on prior usage of + the functions of XURLTransformer. Only after one of the functions + returned `TRUE` this can be assumed.<br> + It is not necessary to set all of the fields; either URL::Complete + or (some of) the others are set. Additionally, most of the other + fields, like URL::Host, URL::Port, + URL::User, URL::Password, + or URL::Mark, are optional. + + @see XURLTransformer + + </p> + */ +published struct URL +{ + /** contains the string representation of the complete URL, for example, + http://www.sun.de:8080/pub/test/foo.txt?a=b#xyz + + <p> + It is used as a central input/output or input parameter for the interfaces of + XURLTransformer. The usage of one of the XURLTransformer + function is mandatory to validate the URL. It cannot be assumed that + URL::Complete represents always a valid URL! + </p> + */ + string Complete; + + /** contains the URL without a mark and without arguments, for example, + http://www.sun.de:8080/pub/test/foo.txt + */ + string Main; + + /** contains the protocol (scheme) of the URL, for example, "http" + */ + string Protocol; + + /** contains the user-identifier of the URL, for example, "me" + */ + string User; + + /** contains the users password of the URL, for example, "pass" + */ + string Password; + + /** contains the server part of the URL, for example, "www.sun.de" + */ + string Server; + + /** contains the port at the server of the URL, for example, "8080" + */ + short Port; + + /** contains all segments but the last one of the hierarchical path of the URL, for example, "/pub/test/" + */ + string Path; + + /** contains the last segment of the hierarchical path of the URL, for the above example, "foo.txt" + <p> + <strong>Attention:</strong>A service implementing the XURLTransformer interface + will normally not detect if the last segment is a folder or a file. So it is possible that + the last segment describes a folder. If you want to be sure that a file URL that references + a folder will be correctly put into the URL fields you should append a "/" at the end of the + hierarchical path. + </p> + */ + string Name; + + /** contains the arguments part of the URL, for example, "a=b" + */ + string Arguments; + + /** contains the mark part of the URL, for example, "xyz" + */ + string Mark; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |