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.h | 298 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 298 insertions(+) create mode 100644 include/axis2_msg.h (limited to 'include/axis2_msg.h') diff --git a/include/axis2_msg.h b/include/axis2_msg.h new file mode 100644 index 0000000..aace1ed --- /dev/null +++ b/include/axis2_msg.h @@ -0,0 +1,298 @@ + +/* + * 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_H +#define AXIS2_MSG_H + +/** + * @defgroup axis2_msg message + * @ingroup axis2_desc + * message represents a message in a WSDL. It captures SOAP headers related to + * a given message, the direction as well as the phases to be invoked along + * the flow. Based on the message direction, there could be only one flow + * associated with a message. + * @{ + */ + +/** + * @file axis2_msg.h + */ + +#include +#include +#include +#include +#include + + /** Message of IN flow */ +#define AXIS2_MSG_IN "in" + + /** Message of OUT flow */ +#define AXIS2_MSG_OUT "out" + + /** Message of IN FAULT flow */ +#define AXIS2_MSG_IN_FAULT "InFaultMessage" + + /** Message of OUT FAULT flow */ +#define AXIS2_MSG_OUT_FAULT "OutFaultMessage" + +#ifdef __cplusplus +extern "C" +{ +#endif + + /** Type name for struct axis2_msg */ + typedef struct axis2_msg axis2_msg_t; + + /** + * Creates message struct instance. + * @param env pointer to environment struct + * @return pointer to newly created message + */ + AXIS2_EXTERN axis2_msg_t *AXIS2_CALL + axis2_msg_create( + const axutil_env_t * env); + + /** + * Frees message. + * @param msg pointer to message + * @param env pointer to environment struct + * @return void + */ + AXIS2_EXTERN void AXIS2_CALL + axis2_msg_free( + axis2_msg_t * msg, + const axutil_env_t * env); + + /** + * Adds a parameter. + * @param msg pointer to message + * @param env pointer to environment struct + * @param param pointer to parameter, message assumes ownership of + * parameter + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_add_param( + axis2_msg_t * msg, + const axutil_env_t * env, + axutil_param_t * param); + + /** + * Gets the named parameter. + * @param msg pointer to message + * @param env pointer to environment struct + * @param name parameter name string + * @return pointer to parameter corresponding to the same name, returns + * a reference, not a cloned copy + */ + AXIS2_EXTERN axutil_param_t *AXIS2_CALL + axis2_msg_get_param( + const axis2_msg_t * msg, + const axutil_env_t * env, + const axis2_char_t * name); + + /** + * Gets all parameters stored in message. + * @param msg pointer to message + * @param env pointer to environment struct + * @return pointer to list of parameters, returns a reference, not a + * cloned copy + */ + AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL + axis2_msg_get_all_params( + const axis2_msg_t * msg, + const axutil_env_t * env); + + /** + * Checks if the named parameter is locked. + * @param msg pointer to message + * @param env pointer to environment struct + * @param param_name parameter name string + * @return AXIS2_TRUE if the parameter is locked, else AXIS2_FALSE + */ + AXIS2_EXTERN axis2_bool_t AXIS2_CALL + axis2_msg_is_param_locked( + axis2_msg_t * msg, + const axutil_env_t * env, + const axis2_char_t * param_name); + + /** + * Sets parent. Parent of a message is of type operation. + * @param msg pointer to message + * @param env pointer to environment struct + * @param op pointer to parent operation, message does not assume + * ownership of parent + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_set_parent( + axis2_msg_t * msg, + const axutil_env_t * env, + axis2_op_t * op); + + /** + * Gets parent. Parent of a message is of type operation. + * @param msg pointer to message + * @param env pointer to environment struct + * @return pointer to parent operation, returns a reference, not a + * cloned copy + */ + AXIS2_EXTERN axis2_op_t *AXIS2_CALL + axis2_msg_get_parent( + const axis2_msg_t * msg, + const axutil_env_t * env); + + /** + * Gets flow of execution associated with the message. + * @param msg pointer to message + * @param env pointer to environment struct + * @return pointer to array list containing the list of phases + * representing the flow + */ + AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL + axis2_msg_get_flow( + const axis2_msg_t * msg, + const axutil_env_t * env); + + /** + * Sets flow of execution associated with the message. + * @param msg pointer to message + * @param env pointer to environment struct + * @param flow pointer to array list of phases representing the flow, + * message assumes ownership of flow + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_set_flow( + axis2_msg_t * msg, + const axutil_env_t * env, + axutil_array_list_t * flow); + + /** + * Gets direction of message. + * @param msg pointer to message + * @param env pointer to environment struct + * @return direction string + */ + AXIS2_EXTERN const axis2_char_t *AXIS2_CALL + axis2_msg_get_direction( + const axis2_msg_t * msg, + const axutil_env_t * env); + + /** + * Sets direction of message. + * @param msg pointer to message + * @param env pointer to environment struct + * @param direction pointer to direction + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_set_direction( + axis2_msg_t * msg, + const axutil_env_t * env, + const axis2_char_t * direction); + + /** + * Gets QName representing message. + * @param msg pointer to message + * @param env pointer to environment struct + * @return pointer to QName, returns a reference, not a cloned copy + */ + AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL + axis2_msg_get_element_qname( + const axis2_msg_t * msg, + const axutil_env_t * env); + + /** + * Sets QName representing message. + * @param msg pointer to message + * @param env pointer to environment struct + * @param element_qname pointer to QName representing message, this + * function creates a clone of QName + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_set_element_qname( + axis2_msg_t * msg, + const axutil_env_t * env, + const axutil_qname_t * element_qname); + + /** + * Gets message name. + * @param msg pointer to message + * @param env pointer to environment struct + * @return message name string. + */ + AXIS2_EXTERN const axis2_char_t *AXIS2_CALL + axis2_msg_get_name( + const axis2_msg_t * msg, + const axutil_env_t * env); + + /** + * Sets message name. + * @param msg pointer to message + * @param env pointer to environment struct + * @param name message name string + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_set_name( + axis2_msg_t * msg, + const axutil_env_t * env, + const axis2_char_t * name); + + /** + * Gets base description. + * @param msg pointer to message + * @param env pointer to environment struct + * @return pointer to base description struct + */ + AXIS2_EXTERN axis2_desc_t *AXIS2_CALL + axis2_msg_get_base( + const axis2_msg_t * msg, + const axutil_env_t * env); + + /** + * Gets container of parameters belonging to message. + * @param msg pointer to message + * @param env pointer to environment struct + * @return returns container of parameters + * @sa axutil_param_container + */ + AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL + axis2_msg_get_param_container( + const axis2_msg_t * msg, + const axutil_env_t * env); + + /** + * Increments the reference count to this oject + * @param msg pointer to message + * @param env pointer to environment struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_msg_increment_ref( + axis2_msg_t * msg, + const axutil_env_t * env); + + /** @} */ +#ifdef __cplusplus +} +#endif +#endif /* AXIS2_MSG_H */ -- cgit v1.1-32-gdbae