Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Examples

axis2_endpoint_ref.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_ENDPOINT_REF_H
00018 #define AXIS2_ENDPOINT_REF_H
00019 
00025 #include <axis2_defines.h>
00026 #include <axis2_env.h>
00027 #include <axis2_const.h>
00028 #include <axis2_array_list.h>
00029 #include <axis2_any_content_type.h>
00030 #include <axis2_svc_name.h>
00031 #include <axiom_node.h>
00032 #include <axiom_attribute.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038 
00039     struct axis2_endpoint_ref;
00040     struct axis2_endpoint_ref_ops;
00041     
00051  AXIS2_DECLARE_DATA typedef struct axis2_endpoint_ref_ops
00052     { 
00056         axis2_char_t* (AXIS2_CALL *
00057       get_address)(struct axis2_endpoint_ref *endpoint_ref, 
00058                      const axis2_env_t *env);
00064         axis2_status_t (AXIS2_CALL *
00065       set_address)(struct axis2_endpoint_ref *endpoint_ref, 
00066                      const axis2_env_t *env,
00067                  axis2_char_t *address);
00071         axis2_qname_t* (AXIS2_CALL *
00072       get_interface_qname)(struct axis2_endpoint_ref *endpoint_ref, 
00073                              const axis2_env_t *env);
00079         axis2_status_t (AXIS2_CALL *
00080       set_interface_qname)(struct axis2_endpoint_ref *endpoint_ref, 
00081                              const axis2_env_t *env, 
00082                       axis2_qname_t *interface_qname);
00086         axis2_any_content_type_t* (AXIS2_CALL *
00087       get_ref_properties)(struct axis2_endpoint_ref *endpoint_ref, 
00088                             const axis2_env_t *env);
00094         axis2_status_t (AXIS2_CALL *
00095       set_ref_properties)(struct axis2_endpoint_ref *endpoint_ref, 
00096                             const axis2_env_t *env, 
00097                      axis2_any_content_type_t *ref_properties);
00098 
00099         axis2_array_list_t* (AXIS2_CALL *
00100         get_ref_param_list)(struct axis2_endpoint_ref *endpoint_ref,
00101                                   const axis2_env_t *env);
00102 
00103         axis2_array_list_t* (AXIS2_CALL *
00104         get_meta_data_list)(struct axis2_endpoint_ref *endpoint_ref,
00105                                   const axis2_env_t *env);
00106 
00107         axis2_array_list_t* (AXIS2_CALL *
00108         get_ref_attribute_list)(struct axis2_endpoint_ref *endpoint_ref,
00109                                           const axis2_env_t *env);
00110 
00111         axis2_array_list_t* (AXIS2_CALL *
00112         get_meta_attribute_list)(struct axis2_endpoint_ref *endpoint_ref,
00113                                           const axis2_env_t *env);
00114 
00115         axis2_array_list_t* (AXIS2_CALL *
00116         get_extension_list)(struct axis2_endpoint_ref *endpoint_ref,
00117                                   const axis2_env_t *env);
00118 
00119         axis2_status_t (AXIS2_CALL *
00120         add_ref_param)(struct axis2_endpoint_ref *endpoint_ref,
00121                                   const axis2_env_t *env,
00122                                   axiom_node_t* ref_param_node);
00123 
00124         axis2_status_t (AXIS2_CALL *
00125         add_meta_data)(struct axis2_endpoint_ref *endpoint_ref,
00126                                   const axis2_env_t *env,
00127                                   axiom_node_t* meta_data_node);
00128 
00129         axis2_status_t (AXIS2_CALL *
00130         add_ref_attribute)(struct axis2_endpoint_ref *endpoint_ref,
00131                                           const axis2_env_t *env,
00132                                           axiom_attribute_t* attr);
00133 
00134         axis2_status_t (AXIS2_CALL *
00135         add_meta_attribute)(struct axis2_endpoint_ref *endpoint_ref,
00136                                           const axis2_env_t *env,
00137                                           axiom_attribute_t* attr);
00138 
00139         axis2_status_t (AXIS2_CALL *
00140         add_extension)(struct axis2_endpoint_ref *endpoint_ref,
00141                                           const axis2_env_t *env, 
00142                                           axiom_node_t* extension_node);
00143 
00147  /*       axis2_any_content_type_t* (AXIS2_CALL *
00148       get_ref_params)(struct axis2_endpoint_ref *endpoint_ref, 
00149                         const axis2_env_t *env);*/
00153 /*        axis2_status_t (AXIS2_CALL *
00154       set_ref_params)(struct axis2_endpoint_ref *endpoint_ref,
00155                         const axis2_env_t *env,
00156                         axis2_any_content_type_t* any_content_type);*/
00160         axis2_svc_name_t* (AXIS2_CALL *
00161       get_svc_name)(struct axis2_endpoint_ref *endpoint_ref, 
00162                       const axis2_env_t *env);
00168         axis2_status_t (AXIS2_CALL *
00169       set_svc_name)(struct axis2_endpoint_ref *endpoint_ref, 
00170                       const axis2_env_t *env, 
00171                  axis2_svc_name_t *svc_name);
00172       
00173       
00174 /*        axiom_node_t* (AXIS2_CALL *
00175       get_policies)(struct axis2_endpoint_ref *endpoint_ref, 
00176                       const axis2_env_t *env);
00177       
00178         axis2_status_t (AXIS2_CALL *
00179       set_policies)(struct axis2_endpoint_ref *endpoint_ref, 
00180                       const axis2_env_t *env, 
00181                  axiom_node_t *policies);
00182 */      
00183 /*        axis2_any_content_type_t* (AXIS2_CALL *
00184       get_metadata)(struct axis2_endpoint_ref *endpoint_ref, 
00185                       const axis2_env_t *env);
00186       
00187         axis2_status_t (AXIS2_CALL *
00188       set_metadata)(struct axis2_endpoint_ref *endpoint_ref, 
00189                       const axis2_env_t *env, 
00190                  axis2_any_content_type_t *metadata);
00191 **/      
00192    /*   
00193         axis2_status_t (AXIS2_CALL *
00194       add_ref_param)(struct axis2_endpoint_ref *endpoint_ref, 
00195                        const axis2_env_t *env, 
00196                      axis2_qname_t *qname, 
00197                   axis2_char_t *value);
00198    */   
00199       
00200         axis2_status_t (AXIS2_CALL *
00201       free)(struct axis2_endpoint_ref *endpoint_ref, 
00202               const axis2_env_t *env);
00203       
00204     } axis2_endpoint_ref_ops_t;
00205    
00209     typedef struct axis2_endpoint_ref
00210     {
00212         axis2_endpoint_ref_ops_t *ops;
00213     } axis2_endpoint_ref_t;
00214 
00215 
00222 AXIS2_EXTERN axis2_endpoint_ref_t* AXIS2_CALL 
00223 axis2_endpoint_ref_create(const axis2_env_t *env, 
00224                     const axis2_char_t *address);
00225     
00226 #define AXIS2_ENDPOINT_REF_GET_ADDRESS(endpoint_ref, env) \
00227       ((endpoint_ref)->ops->get_address(endpoint_ref, env))
00228    
00229 #define AXIS2_ENDPOINT_REF_SET_ADDRESS(endpoint_ref, env, address) \
00230       ((endpoint_ref)->ops->set_address(endpoint_ref, env, address))
00231    
00232 #define AXIS2_ENDPOINT_REF_GET_INTERFACE_NAME(endpoint_ref, env) \
00233       ((endpoint_ref)->ops->get_interface_qname(endpoint_ref, env))
00234    
00235 #define AXIS2_ENDPOINT_REF_SET_INTERFACE_NAME(endpoint_ref, env, interface_qname)\
00236       ((endpoint_ref)->ops->set_interface_qname(endpoint_ref, env, interface_qname))
00237       
00238 #define AXIS2_ENDPOINT_REF_GET_REF_PROPERTIES(endpoint_ref, env) \
00239       ((endpoint_ref)->ops->get_ref_properties(endpoint_ref, env))
00240       
00241 #define AXIS2_ENDPOINT_REF_SET_REF_PROPERTIES(endpoint_ref, env, ref_properties)\
00242       ((endpoint_ref)->ops->set_ref_properties(endpoint_ref, env, ref_properties))
00243       
00244 /*#define AXIS2_ENDPOINT_REF_GET_REF_PARAMS(endpoint_ref, env) \
00245       ((endpoint_ref)->ops->get_ref_params(endpoint_ref, env))
00246       
00247 #define AXIS2_ENDPOINT_REF_SET_REF_PARAMS(endpoint_ref, env, any_content_type) \
00248       ((endpoint_ref)->ops->set_ref_params(endpoint_ref, env, any_content_type))*/
00249       
00250 #define AXIS2_ENDPOINT_REF_GET_SVC_NAME(endpoint_ref, env) \
00251       ((endpoint_ref)->ops->get_svc_name(endpoint_ref, env))
00252       
00253 #define AXIS2_ENDPOINT_REF_SET_SVC_NAME(endpoint_ref, env, svc_name) \
00254       ((endpoint_ref)->ops->set_svc_name(endpoint_ref, env, svc_name))
00255       
00256 /*#define AXIS2_ENDPOINT_REF_GET_POLICIES(endpoint_ref, env) \
00257       ((endpoint_ref)->ops->get_policies(endpoint_ref, env))
00258       
00259 #define AXIS2_ENDPOINT_REF_SET_POLICIES(endpoint_ref, env, policies) \
00260       ((endpoint_ref)->ops->set_policies(endpoint_ref, env, policies))*/
00261       
00262 /*#define AXIS2_ENDPOINT_REF_GET_METADATA(endpoint_ref, env) \
00263       ((endpoint_ref)->ops->get_metadata(endpoint_ref, env))
00264       
00265 #define AXIS2_ENDPOINT_REF_SET_METADATA(endpoint_ref, env, metadata) \
00266       ((endpoint_ref)->ops->set_metadata(endpoint_ref, env, metadata))*/
00267       
00268 #define AXIS2_ENDPOINT_REF_GET_REF_PARAM_LIST(endpoint_ref, env) \
00269       ((endpoint_ref)->ops->get_ref_param_list(endpoint_ref, env))
00270       
00271 #define AXIS2_ENDPOINT_REF_GET_META_DATA_LIST(endpoint_ref, env) \
00272       ((endpoint_ref)->ops->get_meta_data_list(endpoint_ref, env))
00273       
00274 #define AXIS2_ENDPOINT_REF_ADD_REF_PARAM(endpoint_ref, env, node) \
00275       ((endpoint_ref)->ops->add_ref_param(endpoint_ref, env, node))
00276       
00277 #define AXIS2_ENDPOINT_REF_ADD_META_DATA(endpoint_ref, env, node) \
00278       ((endpoint_ref)->ops->add_meta_data(endpoint_ref, env, node))
00279       
00280 #define AXIS2_ENDPOINT_REF_FREE(endpoint_ref, env) \
00281       ((endpoint_ref)->ops->free(endpoint_ref, env))
00282 
00283 #define AXIS2_ENDPOINT_REF_GET_REF_ATTRIBUTE_LIST(endpoint_ref, env) \
00284         ((endpoint_ref)->ops->get_ref_attribute_list(endpoint_ref, env))
00285 
00286 #define AXIS2_ENDPOINT_REF_GET_META_ATTRIBUTE_LIST(endpoint_ref, env) \
00287         ((endpoint_ref)->ops->get_meta_attribute_list(endpoint_ref, env))
00288 
00289 #define AXIS2_ENDPOINT_REF_GET_REF_EXTENSION_LIST(endpoint_ref, env) \
00290         ((endpoint_ref)->ops->get_extension_list(endpoint_ref, env))
00291 
00292 #define AXIS2_ENDPOINT_REF_ADD_REF_ATTRIBUTE(endpoint_ref, env, attr) \
00293         ((endpoint_ref)->ops->add_ref_attribute(endpoint_ref, env, attr))
00294 
00295 #define AXIS2_ENDPOINT_REF_ADD_META_ATTRIBUTE(endpoint_ref, env, attr) \
00296         ((endpoint_ref)->ops->add_meta_attribute(endpoint_ref, env, attr))
00297 
00298 #define AXIS2_ENDPOINT_REF_ADD_EXTENSION(endpoint_ref, env, node) \
00299         ((endpoint_ref)->ops->add_extension(endpoint_ref, env, node))
00300 
00301 
00304 #ifdef __cplusplus
00305 }
00306 #endif
00307 
00308 #endif    /* AXIS2_ENDPOINT_REF_H */

Generated on Fri Jun 16 18:02:31 2006 for Axis2/C by  doxygen 1.4.2