UDK 3.2.7 C/C++ API Reference
|
00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 00002 /************************************************************************* 00003 * 00004 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 00005 * 00006 * Copyright 2000, 2010 Oracle and/or its affiliates. 00007 * 00008 * OpenOffice.org - a multi-platform office productivity suite 00009 * 00010 * This file is part of OpenOffice.org. 00011 * 00012 * OpenOffice.org is free software: you can redistribute it and/or modify 00013 * it under the terms of the GNU Lesser General Public License version 3 00014 * only, as published by the Free Software Foundation. 00015 * 00016 * OpenOffice.org is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU Lesser General Public License version 3 for more details 00020 * (a copy is included in the LICENSE file that accompanied this code). 00021 * 00022 * You should have received a copy of the GNU Lesser General Public License 00023 * version 3 along with OpenOffice.org. If not, see 00024 * <http://www.openoffice.org/license.html> 00025 * for a copy of the LGPLv3 License. 00026 * 00027 ************************************************************************/ 00028 00029 #ifndef _RTL_URI_H_ 00030 #define _RTL_URI_H_ 00031 00032 #include "rtl/textenc.h" 00033 #include "rtl/ustring.h" 00034 #include "sal/types.h" 00035 00036 #if defined __cplusplus 00037 extern "C" { 00038 #endif /* __cplusplus */ 00039 00053 typedef enum 00054 { 00060 rtl_UriCharClassNone, 00061 00068 rtl_UriCharClassUric, 00069 00075 rtl_UriCharClassUricNoSlash, 00076 00082 rtl_UriCharClassRelSegment, 00083 00089 rtl_UriCharClassRegName, 00090 00096 rtl_UriCharClassUserinfo, 00097 00103 rtl_UriCharClassPchar, 00104 00110 rtl_UriCharClassUnoParamValue, 00111 00112 rtl_UriCharClass_FORCE_EQUAL_SIZE = SAL_MAX_ENUM 00113 } 00114 rtl_UriCharClass; 00115 00119 typedef enum 00120 { 00129 rtl_UriEncodeIgnoreEscapes, 00130 00141 rtl_UriEncodeKeepEscapes, 00142 00153 rtl_UriEncodeCheckEscapes, 00154 00160 rtl_UriEncodeStrict, 00161 00167 rtl_UriEncodeStrictKeepEscapes, 00168 00169 rtl_UriEncode_FORCE_EQUAL_SIZE = SAL_MAX_ENUM 00170 } 00171 rtl_UriEncodeMechanism; 00172 00176 typedef enum 00177 { 00180 rtl_UriDecodeNone, 00181 00190 rtl_UriDecodeToIuri, 00191 00198 rtl_UriDecodeWithCharset, 00199 00205 rtl_UriDecodeStrict, 00206 00207 rtl_UriDecode_FORCE_EQUAL_SIZE = SAL_MAX_ENUM 00208 } 00209 rtl_UriDecodeMechanism; 00210 00223 SAL_DLLPUBLIC sal_Bool const * SAL_CALL rtl_getUriCharClass(rtl_UriCharClass eCharClass) 00224 SAL_THROW_EXTERN_C(); 00225 00260 SAL_DLLPUBLIC void SAL_CALL rtl_uriEncode( 00261 rtl_uString * pText, 00262 sal_Bool const * pCharClass, 00263 rtl_UriEncodeMechanism eMechanism, 00264 rtl_TextEncoding eCharset, 00265 rtl_uString ** pResult) 00266 SAL_THROW_EXTERN_C(); 00267 00298 SAL_DLLPUBLIC void SAL_CALL rtl_uriDecode( 00299 rtl_uString * pText, 00300 rtl_UriDecodeMechanism eMechanism, 00301 rtl_TextEncoding eCharset, 00302 rtl_uString ** pResult) 00303 SAL_THROW_EXTERN_C(); 00304 00347 SAL_DLLPUBLIC sal_Bool SAL_CALL rtl_uriConvertRelToAbs( 00348 rtl_uString * pBaseUriRef, 00349 rtl_uString * pRelUriRef, 00350 rtl_uString ** pResult, 00351 rtl_uString ** pException) 00352 SAL_THROW_EXTERN_C(); 00353 00354 #if defined __cplusplus 00355 } 00356 #endif /* __cplusplus */ 00357 00358 #endif /* _RTL_URI_H_ */ 00359 00360 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */