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 AXIS2_DISP_H 00020 #define AXIS2_DISP_H 00021 00039 #include <axis2_defines.h> 00040 #include <axutil_string.h> 00041 #include <axis2_handler.h> 00042 #include <axis2_svc.h> 00043 00044 #ifdef __cplusplus 00045 extern "C" 00046 { 00047 #endif 00048 00049 #define AXIS2_DISP_NAMESPACE "http://axis.ws.apache.org" 00050 00052 typedef struct axis2_disp axis2_disp_t; 00053 00061 AXIS2_EXTERN axis2_handler_t *AXIS2_CALL 00062 axis2_disp_get_base( 00063 const axis2_disp_t * disp, 00064 const axutil_env_t * env); 00065 00073 AXIS2_EXTERN axutil_string_t *AXIS2_CALL 00074 axis2_disp_get_name( 00075 const axis2_disp_t * disp, 00076 const axutil_env_t * env); 00077 00086 AXIS2_EXTERN axis2_status_t AXIS2_CALL 00087 axis2_disp_set_name( 00088 axis2_disp_t * disp, 00089 const axutil_env_t * env, 00090 axutil_string_t * name); 00091 00098 AXIS2_EXTERN void AXIS2_CALL 00099 axis2_disp_free( 00100 axis2_disp_t * disp, 00101 const axutil_env_t * env); 00102 00109 AXIS2_EXTERN axis2_disp_t *AXIS2_CALL 00110 axis2_disp_create( 00111 const axutil_env_t * env, 00112 const axutil_string_t * name); 00113 00114 axis2_status_t AXIS2_CALL 00115 axis2_disp_find_svc_and_op( 00116 struct axis2_handler *handler, 00117 const axutil_env_t * env, 00118 struct axis2_msg_ctx *msg_ctx); 00119 00126 AXIS2_EXTERN axis2_disp_t *AXIS2_CALL 00127 axis2_addr_disp_create( 00128 const axutil_env_t * env); 00129 00136 AXIS2_EXTERN axis2_disp_t *AXIS2_CALL 00137 axis2_req_uri_disp_create( 00138 const axutil_env_t * env); 00139 00146 AXIS2_EXTERN axis2_disp_t *AXIS2_CALL 00147 axis2_rest_disp_create( 00148 const axutil_env_t * env); 00149 00156 AXIS2_EXTERN axis2_disp_t *AXIS2_CALL 00157 axis2_soap_body_disp_create( 00158 const axutil_env_t * env); 00159 00166 AXIS2_EXTERN axis2_disp_t *AXIS2_CALL 00167 axis2_soap_action_disp_create( 00168 const axutil_env_t * env); 00169 00170 #ifdef __cplusplus 00171 } 00172 #endif 00173 00174 #endif /* AXIS2_DISP_H */