axutil_url.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_URL_H
00020 #define AXUTIL_URL_H
00021 
00027 #include <axutil_utils.h>
00028 #include <axutil_utils_defines.h>
00029 #include <axutil_env.h>
00030 #include <axutil_uri.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00042     typedef struct axutil_url axutil_url_t;
00043 
00044     AXIS2_EXTERN axutil_url_t *AXIS2_CALL
00045     axutil_url_create(
00046         const axutil_env_t * env,
00047         const axis2_char_t * protocol,
00048         const axis2_char_t * host,
00049         const int port,
00050         const axis2_char_t * path);
00051 
00052     AXIS2_EXTERN axutil_url_t *AXIS2_CALL
00053     axutil_url_parse_string(
00054         const axutil_env_t * env,
00055         const axis2_char_t * str_url);
00056 
00057     AXIS2_EXTERN axutil_uri_t *AXIS2_CALL
00058     axutil_url_to_uri(
00059         axutil_url_t * url,
00060         const axutil_env_t * env);
00061 
00062     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00063     axutil_url_to_external_form(
00064         axutil_url_t * url,
00065         const axutil_env_t * env);
00066 
00067     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00068     axutil_url_set_protocol(
00069         axutil_url_t * url,
00070         const axutil_env_t * env,
00071         axis2_char_t * protocol);
00072 
00073     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00074     axutil_url_get_protocol(
00075         axutil_url_t * url,
00076         const axutil_env_t * env);
00077 
00078     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00079     axutil_url_set_host(
00080         axutil_url_t * url,
00081         const axutil_env_t * env,
00082         axis2_char_t * host);
00083 
00084     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00085     axutil_url_get_host(
00086         axutil_url_t * url,
00087         const axutil_env_t * env);
00088 
00089     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00090     axutil_url_set_server(
00091         axutil_url_t * url,
00092         const axutil_env_t * env,
00093         axis2_char_t * server);
00094 
00095     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00096     axutil_url_get_server(
00097         axutil_url_t * url,
00098         const axutil_env_t * env);
00099 
00100     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00101     axutil_url_set_port(
00102         axutil_url_t * url,
00103         const axutil_env_t * env,
00104         int port);
00105 
00106     AXIS2_EXTERN int AXIS2_CALL
00107     axutil_url_get_port(
00108         axutil_url_t * url,
00109         const axutil_env_t * env);
00110 
00111     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00112     axutil_url_set_path(
00113         axutil_url_t * url,
00114         const axutil_env_t * env,
00115         axis2_char_t * path);
00116 
00117     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00118     axutil_url_get_path(
00119         axutil_url_t * url,
00120         const axutil_env_t * env);
00121 
00122     AXIS2_EXTERN axutil_url_t *AXIS2_CALL
00123     axutil_url_clone(
00124         axutil_url_t * url,
00125         const axutil_env_t * env);
00126 
00127     AXIS2_EXTERN void AXIS2_CALL
00128     axutil_url_free(
00129         axutil_url_t * url,
00130         const axutil_env_t * env);
00131 
00132     AXIS2_EXTERN axis2_char_t *AXIS2_CALL 
00133     axutil_url_encode (
00134         const axutil_env_t * env,
00135         axis2_char_t * dest,
00136         axis2_char_t * buff, int len);
00137 
00138         AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00139                 axutil_url_get_query(
00140                 axutil_url_t * url,
00141                 const axutil_env_t * env);
00142 
00143 
00145 #ifdef __cplusplus
00146 }
00147 #endif
00148 
00149 #endif                          /* AXIS2_URL_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3