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_http_out_transport_info.h | 250 ++++++++++++++++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 include/axis2_http_out_transport_info.h (limited to 'include/axis2_http_out_transport_info.h') diff --git a/include/axis2_http_out_transport_info.h b/include/axis2_http_out_transport_info.h new file mode 100644 index 0000000..7ba4b94 --- /dev/null +++ b/include/axis2_http_out_transport_info.h @@ -0,0 +1,250 @@ + +/* +* 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_HTTP_OUT_TRANSPORT_INFO_H +#define AXIS2_HTTP_OUT_TRANSPORT_INFO_H + +/** + * @defgroup axis2_http_out_transport_info http out transport info + * @ingroup axis2_core_trans_http + * Description + * @{ + */ + +/** + * @file axis2_http_out_transport_info.h + * @brief axis2 HTTP Out Transport Info + */ + +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + + /** Type name for struct axis2_http_out_transport_info */ + typedef struct axis2_http_out_transport_info + axis2_http_out_transport_info_t; + + struct axis2_http_out_transport_info + { + axis2_out_transport_info_t out_transport; + axis2_http_simple_response_t *response; + axis2_transport_receiver_t *server; + axis2_char_t *encoding; + + axis2_status_t( + AXIS2_CALL + * set_content_type)( + axis2_http_out_transport_info_t * info, + const axutil_env_t * env, + const axis2_char_t * content_type); + + axis2_status_t( + AXIS2_CALL + * set_char_encoding)( + axis2_http_out_transport_info_t * info, + const axutil_env_t * env, + const axis2_char_t * encoding); + + axis2_status_t( + AXIS2_CALL + * set_cookie_header)( + axis2_http_out_transport_info_t * info, + const axutil_env_t * env, + const axis2_char_t * cookie_header); + + axis2_status_t( + AXIS2_CALL + * set_session)( + axis2_http_out_transport_info_t * info, + const axutil_env_t * env, + const axis2_char_t * session_id, + const axis2_char_t * session_value); + + void( + AXIS2_CALL + * free_function)( + axis2_http_out_transport_info_t * info, + const axutil_env_t * env); + }; + + /** + * @param info pointer to info + * @param env pointer to environment struct + * @param content_type pointer to content type + */ + AXIS2_EXTERN int AXIS2_CALL + + axis2_http_out_transport_info_set_content_type( + axis2_http_out_transport_info_t * info, + const axutil_env_t * env, + const axis2_char_t * content_type); + + /** + * @param info pointer to info + * @param env pointer to environment struct + * @param encoding pointer to encoding + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + + axis2_http_out_transport_info_set_char_encoding( + axis2_http_out_transport_info_t * info, + const axutil_env_t * env, + const axis2_char_t * encoding); + + /** + * @param info pointer to info + * @param env pointer to environment struct + * @param cookie_header pointer to cookie_header + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + + axis2_http_out_transport_info_set_cookie_header( + axis2_http_out_transport_info_t * info, + const axutil_env_t * env, + const axis2_char_t * cookie_header); + + /** @param info pointer to info + * @param env pointer to environment struct + * @param session_str pointer to session string + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + + axis2_http_out_transport_info_set_session( + axis2_http_out_transport_info_t * info, + const axutil_env_t * env, + const axis2_char_t * session_id, + const axis2_char_t * session_value); + + + /** + * @param out_transport_info pointer to out transport info + * @param env pointer to environment struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN void AXIS2_CALL + axis2_http_out_transport_info_free( + axis2_http_out_transport_info_t * out_transport_info, + const axutil_env_t * env); + + /** + * @param env pointer to environment struct + * @param response pointer to response + */ + AXIS2_EXTERN axis2_http_out_transport_info_t *AXIS2_CALL + + axis2_http_out_transport_info_create( + const axutil_env_t * env, + axis2_http_simple_response_t * response); + + /** + * Free http_out_transport_info passed as void pointer. This will be + * cast into appropriate type and then pass the cast object + * into the http_out_transport_info structure's free method + * @param transport_info pointer to transport info + * @param env pointer to environment struct + */ + AXIS2_EXTERN void AXIS2_CALL + axis2_http_out_transport_info_free_void_arg( + void *transport_info, + const axutil_env_t * env); + + AXIS2_EXTERN void AXIS2_CALL + + axis2_http_out_transport_info_set_char_encoding_func( + axis2_http_out_transport_info_t * out_transport_info, + const axutil_env_t * env, + axis2_status_t(AXIS2_CALL + * set_encoding) + (axis2_http_out_transport_info_t *, + const axutil_env_t *, + const axis2_char_t *)); + + AXIS2_EXTERN void AXIS2_CALL + + axis2_http_out_transport_info_set_content_type_func( + axis2_http_out_transport_info_t * out_transport_info, + const axutil_env_t * env, + axis2_status_t(AXIS2_CALL + * + set_content_type)(axis2_http_out_transport_info_t *, + const axutil_env_t *, + const axis2_char_t *)); + + AXIS2_EXTERN void AXIS2_CALL + axis2_http_out_transport_info_set_cookie_header_func( + axis2_http_out_transport_info_t * out_transport_info, + const axutil_env_t * env, + axis2_status_t(AXIS2_CALL + * + set_cookie_header)(axis2_http_out_transport_info_t *, + const axutil_env_t *, + const axis2_char_t *)); + + AXIS2_EXTERN void AXIS2_CALL + axis2_http_out_transport_info_set_session_func( + axis2_http_out_transport_info_t * out_transport_info, + const axutil_env_t * env, + axis2_status_t(AXIS2_CALL + * + set_session)(axis2_http_out_transport_info_t *, + const axutil_env_t *, + const axis2_char_t *, + const axis2_char_t *)); + + AXIS2_EXTERN void AXIS2_CALL + axis2_http_out_transport_info_set_free_func( + axis2_http_out_transport_info_t * out_transport_info, + const axutil_env_t * env, + void(AXIS2_CALL + * free_function)(axis2_http_out_transport_info_t *, + const axutil_env_t *)); + + /** Set content type. */ +#define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \ + env, content_type) axis2_http_out_transport_info_set_content_type (out_transport_info, env, content_type) + + /** Set char encoding. */ +#define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info,\ + env, encoding) axis2_http_out_transport_info_set_char_encoding(out_transport_info, env, encoding) + + /** Set cookie_header. */ +#define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_COOKIE_HEADER(out_transport_info, \ + env, cookie_header) axis2_http_out_transport_info_set_cookie_header (out_transport_info, env, cookie_header) + + /** Set session. */ +#define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_SESSION(out_transport_info, \ + env, session_id, session_value) axis2_http_out_transport_info_set_session (out_transport_info, env, session_id, session_value) + + /** Free. */ +#define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\ + axis2_http_out_transport_info_free(out_transport_info, env) + + /** @} */ +#ifdef __cplusplus +} +#endif +#endif /* AXIS2_HTTP_OUT_TRANSPORT_INFO_H */ -- cgit v1.1-32-gdbae