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 
00031 #include <axis2_defines.h>
00032 #include <axis2_env.h>
00033 #include <axis2_const.h>
00034 #include <axis2_array_list.h>
00035 #include <axis2_any_content_type.h>
00036 #include <axis2_svc_name.h>
00037 #include <axiom_node.h>
00038 #include <axiom_attribute.h>
00039 
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044 
00046     typedef struct axis2_endpoint_ref axis2_endpoint_ref_t;
00048     typedef struct axis2_endpoint_ref_ops axis2_endpoint_ref_ops_t;
00049 
00050 
00054     struct axis2_endpoint_ref_ops
00055     {
00061         axis2_char_t *(AXIS2_CALL *
00062                 get_address)(
00063                     const axis2_endpoint_ref_t *endpoint_ref,
00064                     const axis2_env_t *env);
00065 
00072         axis2_status_t (AXIS2_CALL *
00073                 set_address)(
00074                     struct axis2_endpoint_ref *endpoint_ref,
00075                     const axis2_env_t *env,
00076                     axis2_char_t *address);
00077 
00082         axis2_qname_t *(AXIS2_CALL *
00083                 get_interface_qname)(
00084                     const axis2_endpoint_ref_t *endpoint_ref,
00085                     const axis2_env_t *env);
00093         axis2_status_t (AXIS2_CALL *
00094                 set_interface_qname)(
00095                     struct axis2_endpoint_ref *endpoint_ref,
00096                     const axis2_env_t *env,
00097                     axis2_qname_t *interface_qname);
00103         axis2_any_content_type_t *(AXIS2_CALL *
00104                 get_ref_properties)(
00105                     const axis2_endpoint_ref_t *endpoint_ref,
00106                     const axis2_env_t *env);
00114         axis2_status_t (AXIS2_CALL *
00115                 set_ref_properties)(
00116                     struct axis2_endpoint_ref *endpoint_ref,
00117                     const axis2_env_t *env,
00118                     axis2_any_content_type_t *ref_properties);
00119 
00124         axis2_array_list_t *(AXIS2_CALL *
00125                 get_ref_param_list)(
00126                     const axis2_endpoint_ref_t *endpoint_ref,
00127                     const axis2_env_t *env);
00128 
00133         axis2_array_list_t *(AXIS2_CALL *
00134                 get_meta_data_list)(
00135                     const axis2_endpoint_ref_t *endpoint_ref,
00136                     const axis2_env_t *env);
00137 
00142         axis2_array_list_t *(AXIS2_CALL *
00143                 get_ref_attribute_list)(
00144                     const axis2_endpoint_ref_t *endpoint_ref,
00145                     const axis2_env_t *env);
00146 
00151         axis2_array_list_t *(AXIS2_CALL *
00152                 get_meta_attribute_list)(
00153                     const axis2_endpoint_ref_t *endpoint_ref,
00154                     const axis2_env_t *env);
00155 
00160         axis2_array_list_t *(AXIS2_CALL *
00161                 get_extension_list)(
00162                     const axis2_endpoint_ref_t *endpoint_ref,
00163                     const axis2_env_t *env);
00164 
00171         axis2_status_t (AXIS2_CALL *
00172                 add_ref_param)(
00173                     struct axis2_endpoint_ref *endpoint_ref,
00174                     const axis2_env_t *env,
00175                     axiom_node_t *ref_param_node);
00176 
00183         axis2_status_t (AXIS2_CALL *
00184                 add_meta_data)(
00185                     struct axis2_endpoint_ref *endpoint_ref,
00186                     const axis2_env_t *env,
00187                     axiom_node_t *meta_data_node);
00188 
00195         axis2_status_t (AXIS2_CALL *
00196                 add_ref_attribute)(
00197                     struct axis2_endpoint_ref *endpoint_ref,
00198                     const axis2_env_t *env,
00199                     axiom_attribute_t *attr);
00200 
00207         axis2_status_t (AXIS2_CALL *
00208                 add_meta_attribute)(
00209                     struct axis2_endpoint_ref *endpoint_ref,
00210                     const axis2_env_t *env,
00211                     axiom_attribute_t *attr);
00212 
00219         axis2_status_t (AXIS2_CALL *
00220                 add_extension)(
00221                     struct axis2_endpoint_ref *endpoint_ref,
00222                     const axis2_env_t *env,
00223                     axiom_node_t *extension_node);
00224 
00228         /*       axis2_any_content_type_t *(AXIS2_CALL *
00229              get_ref_params)(struct axis2_endpoint_ref *endpoint_ref, 
00230                                const axis2_env_t *env);*/
00234         /*        axis2_status_t (AXIS2_CALL *
00235               set_ref_params)(struct axis2_endpoint_ref *endpoint_ref,
00236                                 const axis2_env_t *env,
00237                                 axis2_any_content_type_t *any_content_type);*/
00243         axis2_svc_name_t *(AXIS2_CALL *
00244                 get_svc_name)(
00245                     const axis2_endpoint_ref_t *endpoint_ref,
00246                     const axis2_env_t *env);
00254         axis2_status_t (AXIS2_CALL *
00255                 set_svc_name)(
00256                     struct axis2_endpoint_ref *endpoint_ref,
00257                     const axis2_env_t *env,
00258                     axis2_svc_name_t *svc_name);
00259 
00260 
00261         /*        axiom_node_t *(AXIS2_CALL *
00262               get_policies)(struct axis2_endpoint_ref *endpoint_ref, 
00263                               const axis2_env_t *env);
00264               
00265                 axis2_status_t (AXIS2_CALL *
00266               set_policies)(struct axis2_endpoint_ref *endpoint_ref, 
00267                               const axis2_env_t *env, 
00268                          axiom_node_t *policies);
00269         */
00270         /*        axis2_any_content_type_t *(AXIS2_CALL *
00271               get_metadata)(struct axis2_endpoint_ref *endpoint_ref, 
00272                               const axis2_env_t *env);
00273               
00274                 axis2_status_t (AXIS2_CALL *
00275               set_metadata)(struct axis2_endpoint_ref *endpoint_ref, 
00276                               const axis2_env_t *env, 
00277                          axis2_any_content_type_t *metadata);
00278         **/
00279         /*
00280              axis2_status_t (AXIS2_CALL *
00281            add_ref_param)(struct axis2_endpoint_ref *endpoint_ref, 
00282                             const axis2_env_t *env, 
00283                           axis2_qname_t *qname, 
00284                        axis2_char_t *value);
00285         */
00286 
00292         axis2_status_t (AXIS2_CALL *
00293                 free)(
00294                     struct axis2_endpoint_ref *endpoint_ref,
00295                     const axis2_env_t *env);
00296 
00297     };
00298 
00302     struct axis2_endpoint_ref
00303     {
00305         axis2_endpoint_ref_ops_t *ops;
00306     };
00307 
00308 
00314     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00315     axis2_endpoint_ref_create(
00316         const axis2_env_t *env,
00317         const axis2_char_t *address);
00318 
00321 #define AXIS2_ENDPOINT_REF_GET_ADDRESS(endpoint_ref, env) \
00322       ((endpoint_ref)->ops->get_address(endpoint_ref, env))
00323 
00326 #define AXIS2_ENDPOINT_REF_SET_ADDRESS(endpoint_ref, env, address) \
00327       ((endpoint_ref)->ops->set_address(endpoint_ref, env, address))
00328 
00331 #define AXIS2_ENDPOINT_REF_GET_INTERFACE_NAME(endpoint_ref, env) \
00332       ((endpoint_ref)->ops->get_interface_qname(endpoint_ref, env))
00333 
00336 #define AXIS2_ENDPOINT_REF_SET_INTERFACE_NAME(endpoint_ref, env, interface_qname)\
00337       ((endpoint_ref)->ops->set_interface_qname(endpoint_ref, env, interface_qname))
00338 
00341 #define AXIS2_ENDPOINT_REF_GET_REF_PROPERTIES(endpoint_ref, env) \
00342       ((endpoint_ref)->ops->get_ref_properties(endpoint_ref, env))
00343 
00346 #define AXIS2_ENDPOINT_REF_SET_REF_PROPERTIES(endpoint_ref, env, ref_properties)\
00347       ((endpoint_ref)->ops->set_ref_properties(endpoint_ref, env, ref_properties))
00348 
00349 /*#define AXIS2_ENDPOINT_REF_GET_REF_PARAMS(endpoint_ref, env) \
00350       ((endpoint_ref)->ops->get_ref_params(endpoint_ref, env))
00351           
00352 #define AXIS2_ENDPOINT_REF_SET_REF_PARAMS(endpoint_ref, env, any_content_type) \
00353       ((endpoint_ref)->ops->set_ref_params(endpoint_ref, env, any_content_type))*/
00354 
00357 #define AXIS2_ENDPOINT_REF_GET_SVC_NAME(endpoint_ref, env) \
00358       ((endpoint_ref)->ops->get_svc_name(endpoint_ref, env))
00359 
00362 #define AXIS2_ENDPOINT_REF_SET_SVC_NAME(endpoint_ref, env, svc_name) \
00363       ((endpoint_ref)->ops->set_svc_name(endpoint_ref, env, svc_name))
00364 
00365 /*#define AXIS2_ENDPOINT_REF_GET_POLICIES(endpoint_ref, env) \
00366       ((endpoint_ref)->ops->get_policies(endpoint_ref, env))
00367           
00368 #define AXIS2_ENDPOINT_REF_SET_POLICIES(endpoint_ref, env, policies) \
00369       ((endpoint_ref)->ops->set_policies(endpoint_ref, env, policies))*/
00370 
00371 /*#define AXIS2_ENDPOINT_REF_GET_METADATA(endpoint_ref, env) \
00372       ((endpoint_ref)->ops->get_metadata(endpoint_ref, env))
00373           
00374 #define AXIS2_ENDPOINT_REF_SET_METADATA(endpoint_ref, env, metadata) \
00375       ((endpoint_ref)->ops->set_metadata(endpoint_ref, env, metadata))*/
00376 
00379 #define AXIS2_ENDPOINT_REF_GET_REF_PARAM_LIST(endpoint_ref, env) \
00380       ((endpoint_ref)->ops->get_ref_param_list(endpoint_ref, env))
00381 
00384 #define AXIS2_ENDPOINT_REF_GET_META_DATA_LIST(endpoint_ref, env) \
00385       ((endpoint_ref)->ops->get_meta_data_list(endpoint_ref, env))
00386 
00389 #define AXIS2_ENDPOINT_REF_ADD_REF_PARAM(endpoint_ref, env, node) \
00390       ((endpoint_ref)->ops->add_ref_param(endpoint_ref, env, node))
00391 
00394 #define AXIS2_ENDPOINT_REF_ADD_META_DATA(endpoint_ref, env, node) \
00395       ((endpoint_ref)->ops->add_meta_data(endpoint_ref, env, node))
00396 
00399 #define AXIS2_ENDPOINT_REF_FREE(endpoint_ref, env) \
00400       ((endpoint_ref)->ops->free(endpoint_ref, env))
00401 
00404 #define AXIS2_ENDPOINT_REF_GET_REF_ATTRIBUTE_LIST(endpoint_ref, env) \
00405         ((endpoint_ref)->ops->get_ref_attribute_list(endpoint_ref, env))
00406 
00409 #define AXIS2_ENDPOINT_REF_GET_META_ATTRIBUTE_LIST(endpoint_ref, env) \
00410         ((endpoint_ref)->ops->get_meta_attribute_list(endpoint_ref, env))
00411 
00414 #define AXIS2_ENDPOINT_REF_GET_REF_EXTENSION_LIST(endpoint_ref, env) \
00415         ((endpoint_ref)->ops->get_extension_list(endpoint_ref, env))
00416 
00419 #define AXIS2_ENDPOINT_REF_ADD_REF_ATTRIBUTE(endpoint_ref, env, attr) \
00420         ((endpoint_ref)->ops->add_ref_attribute(endpoint_ref, env, attr))
00421 
00424 #define AXIS2_ENDPOINT_REF_ADD_META_ATTRIBUTE(endpoint_ref, env, attr) \
00425         ((endpoint_ref)->ops->add_meta_attribute(endpoint_ref, env, attr))
00426 
00429 #define AXIS2_ENDPOINT_REF_ADD_EXTENSION(endpoint_ref, env, node) \
00430         ((endpoint_ref)->ops->add_extension(endpoint_ref, env, node))
00431 
00432 
00435 #ifdef __cplusplus
00436 }
00437 #endif
00438 
00439 #endif    /* AXIS2_ENDPOINT_REF_H */

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