From 0425aadc78680e53000fd0108b540d6eca048516 Mon Sep 17 00:00:00 2001 From: gmcdonald Date: Sat, 13 Feb 2010 01:32:03 +0000 Subject: Moving axis svn, part of TLP move INFRA-2441 git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@909681 13f79535-47bb-0310-9956-ffa450edef68 --- include/axis2_msg_info_headers.h | 466 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 466 insertions(+) create mode 100644 include/axis2_msg_info_headers.h (limited to 'include/axis2_msg_info_headers.h') diff --git a/include/axis2_msg_info_headers.h b/include/axis2_msg_info_headers.h new file mode 100644 index 0000000..bd70bbe --- /dev/null +++ b/include/axis2_msg_info_headers.h @@ -0,0 +1,466 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AXIS2_MSG_INFO_HEADERS_H +#define AXIS2_MSG_INFO_HEADERS_H + +/** + * @defgroup axis2_msg_info_headers message information headers + * @ingroup axis2_addr + * message information headers encapsulates properties that enable the + * identification and location of the endpoints involved in an interaction. + * The basic interaction pattern from which all others are composed is + * "one way". In this pattern a source sends a message to a destination + * without any further definition of the interaction. "Request Reply" is a + * common interaction pattern that consists of an initial message sent by + * a source endpoint (the request) and a subsequent message sent from the + * destination of the request back to the source (the reply). + * A reply can be either an application message, a fault, or any other message. + * message information headers capture addressing information related to these + * interaction patterns such as from, to, reply to and fault to addresses. + * @{ + */ + +/** + * @file axis2_msg_info_headers.h + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + + /** Type name for struct axis2_msg_info_headers */ + typedef struct axis2_msg_info_headers axis2_msg_info_headers_t; + + /** + * Creates message information headers struct. + * @param env pointer to environment struct + * @param to pointer to endpoint reference representing to endpoint + * @param action WS-Addressing action string + * @return pointer to newly created message information headers struct + */ + AXIS2_EXTERN axis2_msg_info_headers_t *AXIS2_CALL + axis2_msg_info_headers_create( + const axutil_env_t * env, + axis2_endpoint_ref_t * to, + const axis2_char_t * action); + + /** + * Gets to endpoint. to endpoint represents the address of the + * intended receiver of this message. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return pointer to endpoint reference representing to address, + * returns a reference, not a cloned copy + */ + AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL + axis2_msg_info_headers_get_to( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Sets to endpoint. to endpoint represents the address of the + * intended receiver of this message. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param to pointer to endpoint reference representing to address, + * message information headers assumes ownership of the endpoint + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_to( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + axis2_endpoint_ref_t * to); + + /** + * Gets from endpoint. from endpoint represents the address of the + * endpoint where the message originated from. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return pointer to endpoint reference representing from address, + * returns a reference, not a cloned copy + */ + AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL + axis2_msg_info_headers_get_from( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Sets from endpoint. from endpoint represents the address of the + * endpoint where the message originated from. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param from pointer to endpoint reference representing from address, + * message information headers assumes ownership of the endpoint + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_from( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + axis2_endpoint_ref_t * from); + + /** + * Gets reply to endpoint. reply to endpoint identifies the intended + * receiver to which a message is replied. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return pointer to endpoint reference representing reply to address, + * returns a reference, not a cloned copy + */ + AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL + axis2_msg_info_headers_get_reply_to( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Sets reply to endpoint. reply to endpoint identifies the intended + * receiver to which a message is replied. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param reply_to pointer to endpoint reference representing reply to + * address, message information headers assumes ownership of the endpoint + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_reply_to( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + axis2_endpoint_ref_t * reply_to); + + /** + * Sets the bool value indicating whether the reply to endpoint should + * be none. reply to endpoint identifies the intended receiver for + * replies to a message. The URI "http://www.w3.org/2005/08/addressing/none" + * in the reply to address indicates that no reply should be sent. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param none AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none + * is to be used as reply to URI, else AXIS2_FALSE + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_reply_to_none( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + const axis2_bool_t none); + + /** + * Gets the bool value indicating whether the reply to endpoint should + * be none. reply to endpoint identifies the intended receiver for + * replies related to a message. The URI + * "http://www.w3.org/2005/08/addressing/none" + * in the reply to address indicates that no reply should be sent. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none + * is to be used as reply to URI, else AXIS2_FALSE + */ + AXIS2_EXTERN axis2_bool_t AXIS2_CALL + axis2_msg_info_headers_get_reply_to_none( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Sets the bool value indicating whether the reply to endpoint should + * be anonymous. reply to endpoint identifies the intended receiver for + * replies related to a message. The URI + * "http://www.w3.org/2005/08/addressing/anonymous" + * in the reply to address indicates that reply should be sent to + * from address. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param anonymous AXIS2_TRUE if + * http://www.w3.org/2005/08/addressing/anonymous + * is to be used as reply to URI, else AXIS2_FALSE + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_reply_to_anonymous( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + const axis2_bool_t anonymous); + + /** + * Gets the bool value indicating whether the reply to endpoint should + * be anonymous. reply to endpoint identifies the intended receiver for + * replies related to a message. The URI + * "http://www.w3.org/2005/08/addressing/anonymous" + * in the reply to address indicates that reply should be sent to + * from address. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return AXIS2_TRUE if http://www.w3.org/2005/08/addressing/anonymous + * is to be used as reply to URI, else AXIS2_FALSE + */ + AXIS2_EXTERN axis2_bool_t AXIS2_CALL + axis2_msg_info_headers_get_reply_to_anonymous( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Gets fault to endpoint. fault to endpoint identifies the intended + * receiver for faults related to a message. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return pointer to endpoint reference representing fault to address, + * returns a reference, not a cloned copy + */ + AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL + axis2_msg_info_headers_get_fault_to( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Sets fault to endpoint. fault to endpoint identifies the intended + * receiver for faults related to a message. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param fault_to pointer to endpoint reference representing fault to + * address, message information headers assumes ownership of the endpoint + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_fault_to( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + axis2_endpoint_ref_t * fault_to); + + /** + * Sets the bool value indicating whether the fault to endpoint should + * be none. fault to endpoint identifies the intended receiver for + * faults related to a message. The URI + * "http://www.w3.org/2005/08/addressing/none" + * in the fault to address indicates that no fault should be sent back. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param none AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none + * is to be used as fault to URI, else AXIS2_FALSE + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_fault_to_none( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + const axis2_bool_t none); + + /** + * Gets the bool value indicating whether the fault to endpoint should + * be none. fault to endpoint identifies the intended receiver for + * faults related to a message. The URI + * "http://www.w3.org/2005/08/addressing/none" + * in the fault to address indicates that no fault should be sent back. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none + * is to be used as fault to URI, else AXIS2_FALSE + */ + AXIS2_EXTERN axis2_bool_t AXIS2_CALL + axis2_msg_info_headers_get_fault_to_none( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Sets the bool value indicating whether the fault to endpoint should + * be anonymous. fault to endpoint identifies the intended receiver for + * faults related to a message. The URI + * "http://www.w3.org/2005/08/addressing/anonymous" + * in the fault to address indicates that fault should be sent to + * from address. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param anonymous AXIS2_TRUE if + * http://www.w3.org/2005/08/addressing/anonymous + * is to be used as fault to URI, else AXIS2_FALSE + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_fault_to_anonymous( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + const axis2_bool_t anonymous); + + /** + * Gets the bool value indicating whether the fault to endpoint should + * be anonymous. fault to endpoint identifies the intended receiver for + * faults related to a message. The URI + * "http://www.w3.org/2005/08/addressing/anonymous" + * in the fault to address indicates that fault should be sent to + * from address. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return AXIS2_TRUE if http://www.w3.org/2005/08/addressing/anonymous + * is to be used as fault to URI, else AXIS2_FALSE + */ + AXIS2_EXTERN axis2_bool_t AXIS2_CALL + axis2_msg_info_headers_get_fault_to_anonymous( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Gets WS-Addressing action. action is an absolute IRI + * (Internationalized Resource Identifier) that uniquely identifies + * the semantics implied by this message. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return WS-Addressing action string + */ + AXIS2_EXTERN const axis2_char_t *AXIS2_CALL + axis2_msg_info_headers_get_action( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Sets WS-Addressing action. action is an absolute IRI + * (Internationalized Resource Identifier) that uniquely identifies + * the semantics implied by this message. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param action WS-Addressing action string + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_action( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + const axis2_char_t * action); + + /** + * Gets message ID. message ID is an absolute IRI that uniquely + * identifies the message. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return message ID string. + */ + AXIS2_EXTERN const axis2_char_t *AXIS2_CALL + axis2_msg_info_headers_get_message_id( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Sets message ID. message ID is an absolute URI that uniquely + * identifies the message. Message ID will be prefixed with "urn:uuid:" + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param message_id message ID string + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_message_id( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + const axis2_char_t * message_id); + + /** + * Sets message ID. message ID is an absolute URI that uniquely + * identifies the message. Message ID Given will be used. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param message_id message ID string + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_in_message_id( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + const axis2_char_t * message_id); + + /** + * Gets relates to information. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return pointer to relates to struct, returns a reference, not a + * cloned copy + * @sa axis2_relates_to + */ + AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL + axis2_msg_info_headers_get_relates_to( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Sets relates to information. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param relates_to pointer to relates to struct, message information + * headers assumes ownership of struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_set_relates_to( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + axis2_relates_to_t * relates_to); + + /** + * Gets all reference parameters associated with message information + * headers. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return pointer to array list containing all reference parameters + */ + AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL + axis2_msg_info_headers_get_all_ref_params( + const axis2_msg_info_headers_t * msg_info_headers, + const axutil_env_t * env); + + /** + * Adds a reference parameter in the form of an AXIOM node. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @param ref_param pointer to AXIOM node representing reference + * parameter, message information header does not assume ownership of + * node + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_info_headers_add_ref_param( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env, + axiom_node_t * ref_param); + + /** + * Frees message information header struct. + * @param msg_info_headers pointer to message information headers struct + * @param env pointer to environment struct + * @return void + */ + AXIS2_EXTERN void AXIS2_CALL + axis2_msg_info_headers_free( + struct axis2_msg_info_headers *msg_info_headers, + const axutil_env_t * env); + + /** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* AXIS2_MSG_INFO_HEADERS_H */ -- cgit v1.1-32-gdbae