axis2_wsdl_endpoint.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef AXIS2_WSDL_ENDPOINT_H
00018 #define AXIS2_WSDL_ENDPOINT_H
00019 
00025 #include <axis2_const.h>
00026 #include <axis2_error.h>
00027 #include <axis2_defines.h>
00028 #include <axis2_env.h>
00029 #include <axis2_allocator.h>
00030 #include <axis2_wsdl_component.h>
00031 #include <axis2_qname.h>
00032 #include <axis2_wsdl_binding.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038 
00039 struct axis2_wsdl_component;    
00040 struct axis2_wsdl_binding;
00041 typedef struct axis2_wsdl_endpoint axis2_wsdl_endpoint_t;
00042 typedef struct axis2_wsdl_endpoint_ops axis2_wsdl_endpoint_ops_t;
00043 
00053 AXIS2_DECLARE_DATA struct axis2_wsdl_endpoint_ops
00054 {
00058    axis2_status_t (AXIS2_CALL *free)(axis2_wsdl_endpoint_t *wsdl_endpoint,
00059                               const axis2_env_t *env);
00060                                
00066     axis2_qname_t *(AXIS2_CALL *
00067     get_name) (axis2_wsdl_endpoint_t *wsdl_endpoint,
00068                                     const axis2_env_t *env);
00069                                     
00075     axis2_status_t (AXIS2_CALL *
00076     set_name) (axis2_wsdl_endpoint_t *wsdl_endpoint,
00077                                     const axis2_env_t *env,
00078                                     axis2_qname_t *qname);
00079     
00080     
00086     struct axis2_wsdl_binding *(AXIS2_CALL *
00087     get_binding) (axis2_wsdl_endpoint_t *wsdl_endpoint,
00088                                     const axis2_env_t *env);
00089                                     
00095     axis2_status_t (AXIS2_CALL *
00096     set_binding) (axis2_wsdl_endpoint_t *wsdl_endpoint,
00097                                     const axis2_env_t *env,
00098                                     struct axis2_wsdl_binding *wsdl_binding);  
00099 
00100 
00101 };
00102 
00106 AXIS2_DECLARE_DATA struct axis2_wsdl_endpoint
00107 {
00108    axis2_wsdl_endpoint_ops_t *ops;
00109     struct axis2_wsdl_component *wsdl_component;
00110 };
00111 
00116 AXIS2_EXTERN axis2_wsdl_endpoint_t * AXIS2_CALL 
00117 axis2_wsdl_endpoint_create (const axis2_env_t *env);
00118 
00119 /*************************** Function macros **********************************/
00120 
00121 #define AXIS2_WSDL_ENDPOINT_FREE(wsdl_endpoint, env) \
00122       ((wsdl_endpoint)->ops->free (wsdl_endpoint, env))
00123 
00124 #define AXIS2_WSDL_ENDPOINT_GET_NAME(wsdl_endpoint, env) \
00125       ((wsdl_endpoint)->ops->get_name (wsdl_endpoint, env))
00126 
00127 #define AXIS2_WSDL_ENDPOINT_SET_NAME(wsdl_endpoint, env, qname) \
00128       ((wsdl_endpoint)->ops->set_name (wsdl_endpoint, env, qname))
00129         
00130 #define AXIS2_WSDL_ENDPOINT_GET_BINDING(wsdl_endpoint, env) \
00131       ((wsdl_endpoint)->ops->get_binding (wsdl_endpoint, env))
00132 
00133 #define AXIS2_WSDL_ENDPOINT_SET_BINDING(wsdl_endpoint, env, wsdl_binding) \
00134       ((wsdl_endpoint)->ops->set_binding (wsdl_endpoint, env, wsdl_binding))        
00135 
00136 /*************************** End of function macros ***************************/
00137 
00140 #ifdef __cplusplus
00141 }
00142 #endif
00143 #endif  /* AXIS2_WSDL_ENDPOINT_H */

Generated on Thu Aug 31 17:32:36 2006 for Axis2/C by  doxygen 1.4.6