diff options
Diffstat (limited to 'offapi/com/sun/star/util/URL.idl')
-rw-r--r-- | offapi/com/sun/star/util/URL.idl | 134 |
1 files changed, 134 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 000000000000..4c1959549362 --- /dev/null +++ b/offapi/com/sun/star/util/URL.idl @@ -0,0 +1,134 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: URL.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 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 |