# axis2_endpoint_ref.h

Go to the documentation of this file.

    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_ENDPOINT_REF_H
    00020 #define AXIS2_ENDPOINT_REF_H
    00021
    00037 #include <axis2_defines.h>
    00038 #include <axutil_env.h>
    00039 #include <axis2_const.h>
    00040 #include <axutil_array_list.h>
    00041 #include <axis2_any_content_type.h>
    00042 #include <axis2_svc_name.h>
    00043 #include <axiom_node.h>
    00044 #include <axiom_attribute.h>
    00045
    00046 #ifdef __cplusplus
    00047 extern "C"
    00048 {
    00049 #endif
    00050
    00052     typedef struct axis2_endpoint_ref axis2_endpoint_ref_t;
    00053
    00060     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
    00061     axis2_endpoint_ref_create(
    00062         const axutil_env_t * env,
    00063         const axis2_char_t * address);
    00064
    00072     void AXIS2_CALL
    00073     axis2_endpoint_ref_free_void_arg(
    00074         void *endpoint_ref,
    00075         const axutil_env_t * env);
    00076
    00084     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
    00085     axis2_endpoint_ref_get_address(
    00086         const axis2_endpoint_ref_t * endpoint_ref,
    00087         const axutil_env_t * env);
    00088
    00097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00098     axis2_endpoint_ref_set_address(
    00099         axis2_endpoint_ref_t * endpoint_ref,
    00100         const axutil_env_t * env,
    00101         const axis2_char_t * address);
    00102
    00111     AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
    00112     axis2_endpoint_ref_get_interface_qname(
    00113         const axis2_endpoint_ref_t * endpoint_ref,
    00114         const axutil_env_t * env);
    00115
    00125     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00126     axis2_endpoint_ref_set_interface_qname(
    00127         axis2_endpoint_ref_t * endpoint_ref,
    00128         const axutil_env_t * env,
    00129         const axutil_qname_t * interface_qname);
    00130
    00142     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00143     axis2_endpoint_ref_get_ref_param_list(
    00144         const axis2_endpoint_ref_t * endpoint_ref,
    00145         const axutil_env_t * env);
    00146
    00155     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00156     axis2_endpoint_ref_get_metadata_list(
    00157         const axis2_endpoint_ref_t * endpoint_ref,
    00158         const axutil_env_t * env);
    00159
    00167     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00168     axis2_endpoint_ref_get_ref_attribute_list(
    00169         const axis2_endpoint_ref_t * endpoint_ref,
    00170         const axutil_env_t * env);
    00171
    00179     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00180     axis2_endpoint_ref_get_metadata_attribute_list(
    00181         const axis2_endpoint_ref_t * endpoint_ref,
    00182         const axutil_env_t * env);
    00183
    00192     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00193     axis2_endpoint_ref_get_extension_list(
    00194         const axis2_endpoint_ref_t * endpoint_ref,
    00195         const axutil_env_t * env);
    00196
    00206     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00207     axis2_endpoint_ref_add_ref_param(
    00208         axis2_endpoint_ref_t * endpoint_ref,
    00209         const axutil_env_t * env,
    00210         axiom_node_t * ref_param_node);
    00211
    00222     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00223     axis2_endpoint_ref_add_metadata(
    00224         axis2_endpoint_ref_t * endpoint_ref,
    00225         const axutil_env_t * env,
    00226         axiom_node_t * metadata_node);
    00227
    00236     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00237     axis2_endpoint_ref_add_ref_attribute(
    00238         axis2_endpoint_ref_t * endpoint_ref,
    00239         const axutil_env_t * env,
    00240         axiom_attribute_t * attr);
    00241
    00250     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00251     axis2_endpoint_ref_add_metadata_attribute(
    00252         axis2_endpoint_ref_t * endpoint_ref,
    00253         const axutil_env_t * env,
    00254         axiom_attribute_t * attr);
    00255
    00264     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00265     axis2_endpoint_ref_add_extension(
    00266         axis2_endpoint_ref_t * endpoint_ref,
    00267         const axutil_env_t * env,
    00268         axiom_node_t * extension_node);
    00269
    00280     AXIS2_EXTERN axis2_svc_name_t *AXIS2_CALL
    00281     axis2_endpoint_ref_get_svc_name(
    00282         const axis2_endpoint_ref_t * endpoint_ref,
    00283         const axutil_env_t * env);
    00284
    00296     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00297     axis2_endpoint_ref_set_svc_name(
    00298         axis2_endpoint_ref_t * endpoint_ref,
    00299         const axutil_env_t * env,
    00300         axis2_svc_name_t * svc_name);
    00301
    00308     AXIS2_EXTERN void AXIS2_CALL
    00309     axis2_endpoint_ref_free(
    00310         axis2_endpoint_ref_t * endpoint_ref,
    00311         const axutil_env_t * env);
    00312
    00315 #ifdef __cplusplus
    00316 }
    00317 #endif
    00318
    00319 #endif                          /* AXIS2_ENDPOINT_REF_H */