00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
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