00001 /* 00002 * Licensed to the Apache Software Foundation (ASF) under one or more 00003 * contributor license agreements. See the NOTICE file distributed with 00004 * this work for additional information regarding copyright ownership. 00005 * The ASF licenses this file to You under the Apache License, Version 2.0 00006 * (the "License"); you may not use this file except in compliance with 00007 * the License. You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 */ 00017 00018 #ifndef AXIS2_DISP_H 00019 #define AXIS2_DISP_H 00020 00038 #include <axis2_defines.h> 00039 #include <axutil_string.h> 00040 #include <axis2_handler.h> 00041 #include <axis2_svc.h> 00042 00043 #ifdef __cplusplus 00044 extern "C" 00045 { 00046 #endif 00047 00048 #define AXIS2_DISP_NAMESPACE "http://axis.ws.apache.org" 00049 00051 typedef struct axis2_disp axis2_disp_t; 00052 00060 AXIS2_EXTERN axis2_handler_t *AXIS2_CALL 00061 axis2_disp_get_base(const axis2_disp_t *disp, 00062 const axutil_env_t *env); 00063 00071 AXIS2_EXTERN axutil_string_t *AXIS2_CALL 00072 axis2_disp_get_name(const axis2_disp_t *disp, 00073 const axutil_env_t *env); 00074 00083 AXIS2_EXTERN axis2_status_t AXIS2_CALL 00084 axis2_disp_set_name(axis2_disp_t *disp, 00085 const axutil_env_t *env, 00086 axutil_string_t *name); 00087 00094 AXIS2_EXTERN void AXIS2_CALL 00095 axis2_disp_free(axis2_disp_t *disp, 00096 const axutil_env_t *env); 00097 00104 AXIS2_EXTERN axis2_disp_t *AXIS2_CALL 00105 axis2_disp_create(const axutil_env_t *env, 00106 const axutil_string_t *name); 00107 00108 axis2_status_t AXIS2_CALL 00109 axis2_disp_find_svc_and_op( 00110 struct axis2_handler *handler, 00111 const axutil_env_t *env, 00112 struct axis2_msg_ctx *msg_ctx); 00113 00120 AXIS2_EXTERN axis2_disp_t *AXIS2_CALL 00121 axis2_addr_disp_create(const axutil_env_t *env); 00122 00129 AXIS2_EXTERN axis2_disp_t *AXIS2_CALL 00130 axis2_req_uri_disp_create(const axutil_env_t *env); 00131 00138 AXIS2_EXTERN axis2_disp_t *AXIS2_CALL 00139 axiom_soap_body_disp_create(const axutil_env_t *env); 00140 00147 AXIS2_EXTERN axis2_disp_t *AXIS2_CALL 00148 axiom_soap_action_disp_create(const axutil_env_t *env); 00149 00150 #ifdef __cplusplus 00151 } 00152 #endif 00153 00154 #endif /* AXIS2_DISP_H */