| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #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 an Uniform Resource Locator. |
| |
| <p> |
| If the structure represents a valid URL or not depends on prior usage of |
| the functions of <type>XURLTransformer</type>. Only after one of the functions |
| returned <TRUE/> this can be assumed.</br> |
| It is not necessary to set all of the fields; either <member>URL::Complete</member> |
| or (some of) the others are set. Additionally, most of the other |
| fields, like <member>URL::Host</member>, <member>URL::Port</member>, |
| <member>URL::User</member>, <member>URL::Password</member>, |
| or <member>URL::Mark</member>, 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 |
| <type>XURLTransformer</type>. The usage of one of the <type>XURLTransformer</type> |
| function is mandatory to validate the URL. It cannot be assumed that |
| <member>URL::Complete</member> 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 <type>XURLTransformer</type> 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 |