You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2007/07/19 05:38:39 UTC
svn commit: r557477 [1/11] - in
/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp: ./
common/ common/.deps/ receiver/ sender/ server/ server/simple_tcp_server/
server/simple_tcp_server/.deps/ util/ util/.deps/ util/.libs/
Author: dinesh
Date: Wed Jul 18 20:38:32 2007
New Revision: 557477
URL: http://svn.apache.org/viewvc?view=rev&rev=557477
Log:
tcp transport server side
Added:
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/Makefile.am
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_simple_tcp_svr_conn.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_chunked_stream.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_client.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_header.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_out_transport_info.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_request_line.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_response_writer.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_sender.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_server.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_simple_request.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_simple_response.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_status_line.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_svr_thread.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_transport.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_transport_sender.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_transport_utils.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_worker.h
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/.deps/
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/.deps/http_header.Plo
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/.deps/http_out_transport_info.Plo
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/.deps/http_request_line.Plo
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/.deps/http_response_writer.Plo
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/.deps/http_simple_request.Plo
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/.deps/http_simple_response.Plo
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/.deps/http_status_line.Plo
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/.deps/http_worker.Plo
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/.deps/simple_http_svr_conn.Plo
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/Makefile
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/Makefile.am
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/Makefile.in
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/http_header.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/http_out_transport_info.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/http_request_line.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/http_response_writer.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/http_simple_request.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/http_simple_response.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/http_status_line.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/common/http_worker.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/cscope.out
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/receiver/
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/receiver/Makefile.am
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/receiver/Makefile.in
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/receiver/libaxis2_tcp_receiver.so (with props)
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/receiver/s (with props)
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/receiver/simple_tcp_svr_conn.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/receiver/tcp_receiver.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/receiver/tcp_svr_thread.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/receiver/tcp_worker.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/sender/
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/sender/Makefile
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/sender/Makefile.am
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/sender/Makefile.in
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/sender/cscope.out
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/sender/libaxis2_tcp_sender.so (with props)
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/sender/s (with props)
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/sender/tcp_client.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/sender/tcp_sender.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/sender/tcp_transport_sender.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/sender/x
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/server/
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/server/Makefile.am
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/server/simple_tcp_server/
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/server/simple_tcp_server/.deps/
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/server/simple_tcp_server/.deps/http_server_main.Po
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/server/simple_tcp_server/Makefile.am
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/server/simple_tcp_server/s (with props)
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/server/simple_tcp_server/simple_tcp_server (with props)
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/server/simple_tcp_server/tcp_receiver.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/server/simple_tcp_server/tcp_server_main.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/util/
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/util/.deps/
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/util/.deps/http_chunked_stream.Plo
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/util/.deps/http_transport_utils.Plo
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/util/.libs/
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/util/.libs/libaxis2_http_util.a (with props)
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/util/Makefile
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/util/Makefile.am
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/util/Makefile.in
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/util/http_chunked_stream.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/util/http_transport_utils.c
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/x
webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/xx
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/Makefile.am?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/Makefile.am (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/Makefile.am Wed Jul 18 20:38:32 2007
@@ -0,0 +1 @@
+Makefile.am
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_simple_tcp_svr_conn.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_simple_tcp_svr_conn.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_simple_tcp_svr_conn.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_simple_tcp_svr_conn.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,162 @@
+/*
+ * 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
+ *
+ * tcp://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_SIMPLE_HTTP_SVR_CONN_H
+#define AXIS2_SIMPLE_HTTP_SVR_CONN_H
+
+/**
+ * @ingroup axis2_core_transport_tcp
+ * @{
+ */
+
+
+/**
+ * @file axis2_simple_tcp_svr_conn.h
+ * @brief Axis2 simple tcp server connection
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axis2_tcp_simple_request.h>
+#include <axis2_tcp_simple_response.h>
+#include <axis2_tcp_response_writer.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ typedef struct axis2_simple_tcp_svr_conn axis2_simple_tcp_svr_conn_t;
+
+ /**
+ * @param svr_conn pointer to server connection struct
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_simple_tcp_svr_conn_close(axis2_simple_tcp_svr_conn_t *svr_conn,
+ const axutil_env_t *env);
+
+ /**
+ * @param svr_conn pointer to server connection struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+ axis2_simple_tcp_svr_conn_is_open(axis2_simple_tcp_svr_conn_t *svr_conn,
+ const axutil_env_t *env);
+
+ /**
+ * @param svr_conn pointer to server connection struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axutil_stream_t* AXIS2_CALL
+ axis2_simple_tcp_svr_conn_get_stream(const axis2_simple_tcp_svr_conn_t *svr_conn,
+ const axutil_env_t *env);
+
+ /**
+ * @param svr_conn pointer to server connection struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_tcp_response_writer_t *AXIS2_CALL
+ axis2_simple_tcp_svr_conn_get_writer(const axis2_simple_tcp_svr_conn_t *svr_conn,
+ const axutil_env_t *env);
+
+ /**
+ * @param svr_conn pointer to server connection struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_simple_tcp_svr_conn_read_request(axis2_simple_tcp_svr_conn_t *svr_conn,
+ const axutil_env_t *env);
+
+ /**
+ * @param svr_conn pointer to server connection struct
+ * @param env pointer to environment struct
+ * @param response response
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_simple_tcp_svr_conn_write_response(axis2_simple_tcp_svr_conn_t *svr_conn,
+ const axutil_env_t *env,
+ axis2_tcp_simple_response_t *response);
+
+ /**
+ * @param svr_conn pointer to server connection struct
+ * @param env pointer to environment struct
+ * @param timeout timeout
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_simple_tcp_svr_conn_set_rcv_timeout(axis2_simple_tcp_svr_conn_t *svr_conn,
+ const axutil_env_t *env,
+ int timeout);
+
+ /**
+ * @param svr_conn pointer to server connection struct
+ * @param env pointer to environment struct
+ * @param timeout timeout
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_simple_tcp_svr_conn_set_snd_timeout(axis2_simple_tcp_svr_conn_t *svr_conn,
+ const axutil_env_t *env,
+ int timeout);
+
+ /**
+ * @param svr_conn pointer to server connection struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_simple_tcp_svr_conn_get_svr_ip(const axis2_simple_tcp_svr_conn_t *svr_conn,
+ const axutil_env_t *env);
+
+ /**
+ * @param svr_conn pointer to server connection struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_simple_tcp_svr_conn_get_peer_ip(const axis2_simple_tcp_svr_conn_t *svr_conn,
+ const axutil_env_t *env);
+
+ /**
+ * @param svr_conn pointer to server connection struct
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_simple_tcp_svr_conn_free(axis2_simple_tcp_svr_conn_t *svr_conn,
+ const axutil_env_t *env);
+
+
+ /**
+ * creates axis2_simple_tcp_svr_conn struct
+ * @param env pointer to environment struct
+ * @param sockfd sockfd
+ */
+ AXIS2_EXTERN axis2_simple_tcp_svr_conn_t *AXIS2_CALL
+ axis2_simple_tcp_svr_conn_create(
+ const axutil_env_t *env,
+ int sockfd);
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_SIMPLE_HTTP_SVR_CONN_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_chunked_stream.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_chunked_stream.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_chunked_stream.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_chunked_stream.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,109 @@
+/*
+* 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
+*
+* tcp://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_CHUNKED_STREAM_H
+#define AXIS2_HTTP_CHUNKED_STREAM_H
+
+/**
+ * @defgroup axis2_tcp_chunked_stream tcp chunked stream
+ * @ingroup axis2_core_trans_tcp
+ * Description
+ * @{
+ */
+
+/**
+ * @file axis2_tcp_chunked_stream.h
+ * @brief axis2 HTTP Chunked Stream
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axutil_stream.h>
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axis2_tcp_chunked_stream */
+ typedef struct axis2_tcp_chunked_stream axis2_tcp_chunked_stream_t;
+
+
+ /**
+ * @param chunked_stream pointer to chunked stream
+ * @param env pointer to environment struct
+ * @param buffer
+ * @param count
+ */
+ AXIS2_EXTERN int AXIS2_CALL
+ axis2_tcp_chunked_stream_read(axis2_tcp_chunked_stream_t *chunked_stream,
+ const axutil_env_t *env,
+ void *buffer,
+ size_t count);
+
+ /**
+ * @param env pointer to environment struct
+ * @param buffer
+ * @param count
+ */
+ AXIS2_EXTERN int AXIS2_CALL
+ axis2_tcp_chunked_stream_write(axis2_tcp_chunked_stream_t *chunked_stream,
+ const axutil_env_t *env,
+ const void *buffer,
+ size_t count);
+
+ /**
+ * @param chunked_stream pointer to chunked stream
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN int AXIS2_CALL
+ axis2_tcp_chunked_stream_get_current_chunk_size(const axis2_tcp_chunked_stream_t *chunked_stream,
+ const axutil_env_t *env);
+
+ /**
+ * @param chunked_stream pointer to chunked stream
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_chunked_stream_write_last_chunk(axis2_tcp_chunked_stream_t *chunked_stream,
+ const axutil_env_t *env);
+
+ /**
+ * @param chunked_stream pointer to chunked stream
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_chunked_stream_free(axis2_tcp_chunked_stream_t *chunked_stream,
+ const axutil_env_t *env);
+
+ /**
+ * @param env pointer to environment struct
+ * @param stream pointer to stream
+ */
+ AXIS2_EXTERN axis2_tcp_chunked_stream_t * AXIS2_CALL
+ axis2_tcp_chunked_stream_create(const axutil_env_t *env,
+ axutil_stream_t* stream);
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_HTTP_CHUNKED_STREAM_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_client.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_client.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_client.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_client.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,219 @@
+/*
+* 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
+*
+* tcp://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_CLIENT_H
+#define AXIS2_HTTP_CLIENT_H
+
+/**
+ * @defgroup axis2_tcp_client tcp client
+ * @ingroup axis2_core_trans_tcp
+ * Description
+ * @{
+ */
+
+/**
+ * @file axis2_tcp_client.h
+ * @brief axis2 HTTP Header name:value pair implementation
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axis2_tcp_simple_response.h>
+#include <axis2_tcp_simple_request.h>
+#include <axutil_url.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axis2_tcp_client */
+ typedef struct axis2_tcp_client axis2_tcp_client_t;
+
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @param request pointer to request
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_client_send(axis2_tcp_client_t *client,
+ const axutil_env_t *env,
+ axis2_tcp_simple_request_t *request,
+ axis2_char_t *ssl_pp);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN int AXIS2_CALL
+ axis2_tcp_client_recieve_header(axis2_tcp_client_t *client,
+ const axutil_env_t *env);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_tcp_simple_response_t *AXIS2_CALL
+ axis2_tcp_client_get_response(const axis2_tcp_client_t *client,
+ const axutil_env_t *env);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @param url pointer to url
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_client_set_url(axis2_tcp_client_t *client,
+ const axutil_env_t *env,
+ axutil_url_t *url);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axutil_url_t *AXIS2_CALL
+ axis2_tcp_client_get_url(const axis2_tcp_client_t *client,
+ const axutil_env_t *env);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @param timeout_ms
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_client_set_timeout(axis2_tcp_client_t *client,
+ const axutil_env_t *env,
+ int timeout_ms);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN int AXIS2_CALL
+ axis2_tcp_client_get_timeout(const axis2_tcp_client_t *client,
+ const axutil_env_t *env);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @param proxy_host pointer to proxy host
+ * @param proxy_port
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_client_set_proxy(axis2_tcp_client_t *client,
+ const axutil_env_t *env,
+ axis2_char_t *proxy_host,
+ int proxy_port);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_client_get_proxy(const axis2_tcp_client_t *client,
+ const axutil_env_t *env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_client_connect_ssl_host(axis2_tcp_client_t *client,
+ const axutil_env_t *env,
+ axis2_char_t *host,
+ int port);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_client_set_dump_input_msg(axis2_tcp_client_t *client,
+ const axutil_env_t *env,
+ axis2_bool_t dump_input_msg);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @param server_cert server certificate
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_client_set_server_cert(axis2_tcp_client_t *client,
+ const axutil_env_t *env,
+ axis2_char_t *server_cert);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_client_get_server_cert(const axis2_tcp_client_t *client,
+ const axutil_env_t *env);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @param key_file chain file containing
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_client_set_key_file(axis2_tcp_client_t *client,
+ const axutil_env_t *env,
+ axis2_char_t *key_file);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_client_get_key_file(const axis2_tcp_client_t *client,
+ const axutil_env_t *env);
+
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_client_free(axis2_tcp_client_t *client,
+ const axutil_env_t *env);
+
+ /**
+ * @param env pointer to environment struct
+ * @param url pointer to url
+ */
+ AXIS2_EXTERN axis2_tcp_client_t *AXIS2_CALL
+ axis2_tcp_client_create (const axutil_env_t *env,
+ axutil_url_t *url);
+
+ /**
+ * Free tcp_client passed as void pointer. This will be
+ * cast into appropriate type and then pass the cast object
+ * into the tcp_client structure's free method
+ * @param client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_client_free_void_arg (void *client,
+ const axutil_env_t *env);
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_HTTP_CLIENT_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_header.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_header.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_header.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_header.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,103 @@
+/*
+* 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
+*
+* tcp://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_HEADER_H
+#define AXIS2_HTTP_HEADER_H
+
+/**
+ * @defgroup axis2_tcp_header tcp header
+ * @ingroup axis2_core_trans_tcp
+ * Description
+ * @{
+ */
+
+
+/**
+ * @file axis2_tcp_header.h
+ * @brief axis2 HTTP Header name:value pair implementation
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axis2_tcp_header */
+ typedef struct axis2_tcp_header axis2_tcp_header_t;
+
+ /**
+ * @param header pointer to header
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_header_to_external_form(axis2_tcp_header_t *header,
+ const axutil_env_t *env);
+
+ /**
+ * @param header pointer to header
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_header_get_name(const axis2_tcp_header_t *header,
+ const axutil_env_t *env);
+
+ /**
+ * @param header pointer to header
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_header_get_value(const axis2_tcp_header_t *header,
+ const axutil_env_t *env);
+
+ /**
+ * @param header pointer to header
+ * @param env pointer to environment struct
+ * @return void
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_header_free(axis2_tcp_header_t *header,
+ const axutil_env_t *env);
+
+ /**
+ * @param env pointer to environment struct
+ * @param name pointer to name
+ * @param value pointer to value
+ */
+ AXIS2_EXTERN axis2_tcp_header_t *AXIS2_CALL
+ axis2_tcp_header_create (const axutil_env_t *env,
+ const axis2_char_t *name,
+ const axis2_char_t *value);
+
+ /**
+ * @param env pointer to environment struct
+ * @param str pointer to str
+ */
+ AXIS2_EXTERN axis2_tcp_header_t *AXIS2_CALL
+ axis2_tcp_header_create_by_str (const axutil_env_t *env,
+ const axis2_char_t *str);
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_HTTP_HEADER_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_out_transport_info.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_out_transport_info.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_out_transport_info.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_out_transport_info.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,155 @@
+/*
+* 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
+*
+* tcp://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_tcp_out_transport_info tcp out transport info
+ * @ingroup axis2_core_trans_tcp
+ * Description
+ * @{
+ */
+
+/**
+ * @file axis2_tcp_out_transport_info.h
+ * @brief axis2 HTTP Out Transport Info
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axis2_tcp_simple_response.h>
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axis2_tcp_out_transport_info */
+ typedef struct axis2_tcp_out_transport_info axis2_tcp_out_transport_info_t;
+
+ struct axis2_tcp_out_transport_info
+ {
+ axis2_tcp_simple_response_t *response;
+ axis2_char_t *encoding;
+
+ axis2_status_t (AXIS2_CALL *
+ set_content_type)(axis2_tcp_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_tcp_out_transport_info_t *info,
+ const axutil_env_t *env,
+ const axis2_char_t *encoding);
+
+ void (AXIS2_CALL *
+ free_function)(axis2_tcp_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_tcp_out_transport_info_set_content_type(axis2_tcp_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_tcp_out_transport_info_set_char_encoding(axis2_tcp_out_transport_info_t *info,
+ const axutil_env_t *env,
+ const axis2_char_t *encoding);
+
+ /**
+ * @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_tcp_out_transport_info_free(axis2_tcp_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_tcp_out_transport_info_t *AXIS2_CALL
+ axis2_tcp_out_transport_info_create(const axutil_env_t *env,
+ axis2_tcp_simple_response_t *response);
+
+ /**
+ * Free tcp_out_transport_info passed as void pointer. This will be
+ * cast into appropriate type and then pass the cast object
+ * into the tcp_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_tcp_out_transport_info_free_void_arg(void *transport_info,
+ const axutil_env_t *env);
+
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_out_transport_info_set_char_encoding_func(
+ axis2_tcp_out_transport_info_t *out_transport_info,
+ const axutil_env_t *env,
+ axis2_status_t (AXIS2_CALL *set_encoding)
+ (axis2_tcp_out_transport_info_t *, const axutil_env_t *,const axis2_char_t *));
+
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_out_transport_info_set_content_type_func(
+ axis2_tcp_out_transport_info_t *out_transport_info,
+ const axutil_env_t *env,
+ axis2_status_t (AXIS2_CALL *set_content_type)(
+ axis2_tcp_out_transport_info_t *,
+ const axutil_env_t*, const axis2_char_t *));
+
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_out_transport_info_set_free_func(
+ axis2_tcp_out_transport_info_t *out_transport_info,
+ const axutil_env_t *env,
+ void (AXIS2_CALL *free_function)(
+ axis2_tcp_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_tcp_out_transport_info_set_content_type (out_transport_info, env, content_type)
+
+/** Set cahr encoding. */
+#define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info,\
+ env, encoding) axis2_tcp_out_transport_info_set_char_encoding(out_transport_info, env, encoding)
+
+/** Free. */
+#define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\
+ axis2_tcp_out_transport_info_free(out_transport_info, env)
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_HTTP_OUT_TRANSPORT_INFO_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_request_line.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_request_line.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_request_line.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_request_line.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,111 @@
+/*
+* 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
+*
+* tcp://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_REQUEST_LINE_H
+#define AXIS2_HTTP_REQUEST_LINE_H
+
+/**
+ * @defgroup axis2_tcp_request_line tcp request line
+ * @ingroup axis2_core_trans_tcp
+ * @{
+ */
+
+/**
+ * @file axis2_tcp_request_line.h
+ * @brief axis2 HTTP Request Line
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axis2_tcp_request_line */
+ typedef struct axis2_tcp_request_line axis2_tcp_request_line_t;
+
+ /**
+ * @param request_line pointer to request line
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_request_line_get_method(const axis2_tcp_request_line_t *request_line,
+ const axutil_env_t *env);
+
+ /**
+ * @param request_line pointer to request line
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_request_line_get_tcp_version(const axis2_tcp_request_line_t *request_line,
+ const axutil_env_t *env);
+
+ /**
+ * @param request_line pointer to request line
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_request_line_get_uri(const axis2_tcp_request_line_t *request_line,
+ const axutil_env_t *env);
+
+ /**
+ * @param request_line pointer to request line
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_request_line_to_string(axis2_tcp_request_line_t *request_line,
+ const axutil_env_t *env);
+
+ /**
+ * @param request_line pointer to request line
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_request_line_free(axis2_tcp_request_line_t *request_line,
+ const axutil_env_t *env);
+
+ /**
+ * @param env pointer to environment struct
+ * @param method pointer to method
+ * @param uri pointer to uri
+ * @param tcp_version pointer to tcp version
+ */
+ AXIS2_EXTERN axis2_tcp_request_line_t *AXIS2_CALL
+ axis2_tcp_request_line_create(const axutil_env_t *env,
+ const axis2_char_t *method,
+ const axis2_char_t *uri,
+ const axis2_char_t *tcp_version);
+
+ /**
+ * @param env pointer to environment struct
+ * @param str pointer to str
+ */
+ AXIS2_EXTERN axis2_tcp_request_line_t *AXIS2_CALL
+ axis2_tcp_request_line_parse_line(const axutil_env_t *env,
+ const axis2_char_t *str);
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_HTTP_REQUEST_LINE_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_response_writer.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_response_writer.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_response_writer.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_response_writer.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,174 @@
+/*
+* 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
+*
+* tcp://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_RESPONSE_WRITER_H
+#define AXIS2_HTTP_RESPONSE_WRITER_H
+
+/**
+ * @defgroup axis2_tcp_response_writer tcp response writer
+ * @ingroup axis2_core_trans_tcp
+ * @{
+ */
+
+/**
+ * @file axis2_tcp_response_writer.h
+ * @brief axis2 Response Writer
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axutil_stream.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axis2_tcp_response_writer */
+ typedef struct axis2_tcp_response_writer axis2_tcp_response_writer_t;
+
+
+ /**
+ * @param response_writer pointer to response writer
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_response_writer_get_encoding(const axis2_tcp_response_writer_t *response_writer,
+ const axutil_env_t *env);
+
+ /**
+ * @param response_writer pointer to response writer
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_response_writer_close(axis2_tcp_response_writer_t *response_writer,
+ const axutil_env_t *env);
+
+ /**
+ * @param response_writer pointer to response writer
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_response_writer_flush(axis2_tcp_response_writer_t *response_writer,
+ const axutil_env_t *env);
+
+ /**
+ * @param response_writer pointer to response writer
+ * @param env pointer to environment struct
+ * @param c
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_response_writer_write_char(axis2_tcp_response_writer_t *response_writer,
+ const axutil_env_t *env,
+ char c);
+
+ /**
+ * @param response_writer pointer to response writer
+ * @param env pointer to environment struct
+ * @param buf pointer to buf
+ * @param offset
+ * @param len
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_response_writer_write_buf(axis2_tcp_response_writer_t *response_writer,
+ const axutil_env_t *env,
+ char *buf,
+ int offset,
+ axis2_ssize_t len);
+
+ /**
+ * @param response_writer pointer to response writer
+ * @param env pointer to environment struct
+ * @param str pointer to str
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_response_writer_print_str(axis2_tcp_response_writer_t *response_writer,
+ const axutil_env_t *env,
+ const char *str);
+
+ /**
+ * @param response_writer pointer to response writer
+ * @param env pointer to environment struct
+ * @param i
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_response_writer_print_int(axis2_tcp_response_writer_t *response_writer,
+ const axutil_env_t *env,
+ int i);
+
+ /**
+ * @param response_writer pointer to response writer
+ * @param env pointer to environment struct
+ * @param str pointer to str
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_response_writer_println_str(axis2_tcp_response_writer_t *response_writer,
+ const axutil_env_t *env,
+ const char *str);
+
+ /**
+ * @param response_writer pointer to response writer
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_response_writer_println(axis2_tcp_response_writer_t *response_writer,
+ const axutil_env_t *env);
+
+ /**
+ * @param response_writer pointer to response writer
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_response_writer_free(axis2_tcp_response_writer_t *response_writer,
+ const axutil_env_t *env);
+
+ /**
+ * @param env pointer to environment struct
+ * @param stream pointer to stream
+ */
+ AXIS2_EXTERN axis2_tcp_response_writer_t *AXIS2_CALL
+ axis2_tcp_response_writer_create (
+ const axutil_env_t *env,
+ axutil_stream_t *stream);
+
+ /**
+ * @param env pointer to environment struct
+ * @param stream pointer to stream
+ * @param encoding pointer to encoding
+ */
+/* AXIS2_EXTERN axis2_tcp_response_writer_t *AXIS2_CALL */
+/* axis2_tcp_response_writer_create_with_encoding( */
+/* const axutil_env_t *env, */
+/* axutil_stream_t *stream, */
+/* const axis2_char_t *encoding); */
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_HTTP_RESPONSE_WRITER_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_sender.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_sender.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_sender.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_sender.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,202 @@
+/*
+ * 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
+ *
+ * tcp://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_SENDER_H
+#define AXIS2_HTTP_SENDER_H
+
+/**
+ * @ingroup axis2_core_transport_tcp
+ * @{
+ */
+
+/**
+ * @file axis2_tcp_sender.h
+ * @brief axis2 SOAP over HTTP sender
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axis2_msg_ctx.h>
+#include <axiom_output.h>
+#include <axis2_tcp_simple_response.h>
+#include <axiom_soap_envelope.h>
+#include <axis2_tcp_simple_request.h>
+
+#ifdef AXIS2_LIBCURL_ENABLED
+#include <curl/curl.h>
+#endif
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axis2_tcp_sender_ */
+ typedef struct axis2_tcp_sender axis2_tcp_sender_t;
+
+
+ /**
+ * @param sender sender
+ * @param env pointer to environment struct
+ * @param msg_ctx pointer to message context
+ * @param out out
+ * @param str_url str url
+ * @param soap_action pointer to soap action
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_sender_send(axis2_tcp_sender_t *sender,
+ const axutil_env_t *env,
+ axis2_msg_ctx_t *msg_ctx,
+ axiom_soap_envelope_t *out,
+ const axis2_char_t *str_url,
+ const axis2_char_t *soap_action);
+
+
+ void AXIS2_CALL
+ axis2_tcp_sender_util_add_header (
+ const axutil_env_t *env,
+ axis2_tcp_simple_request_t *request,
+ axis2_char_t *header_name,
+ const axis2_char_t *header_value);
+
+#ifdef AXIS2_LIBCURL_ENABLED
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_libcurl_tcp_send(axis2_tcp_sender_t *sender,
+ const axutil_env_t *env,
+ axis2_msg_ctx_t *msg_ctx,
+ axiom_soap_envelope_t *out,
+ const axis2_char_t *str_url,
+ const axis2_char_t *soap_action);
+#endif
+
+
+ /**
+ * @param sender sender
+ * @param env pointer to environment struct
+ * @param chunked chunked
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_sender_set_chunked(axis2_tcp_sender_t *sender,
+ const axutil_env_t *env,
+ axis2_bool_t chunked);
+
+ /**
+ * @param sender sender
+ * @param env pointer to environment struct
+ * @param om_output om output
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_sender_set_om_output(axis2_tcp_sender_t *sender,
+ const axutil_env_t *env,
+ axiom_output_t *om_output);
+
+ /**
+ * @param sender sender
+ * @param env pointer to environment struct
+ * @param version pointer to version
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_sender_set_tcp_version(axis2_tcp_sender_t *sender,
+ const axutil_env_t *env,
+ axis2_char_t *version);
+
+ /**
+ * @param sender sender
+ * @param env pointer to environment struct
+ * @return void
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_sender_free(axis2_tcp_sender_t *sender,
+ const axutil_env_t *env);
+
+ /**
+ * @param sender soap over tcp sender
+ * @param env pointer to environment struct
+ * @param msg_ctx pointer to message context
+ * @param response pointer to response
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_sender_get_header_info(axis2_tcp_sender_t *sender,
+ const axutil_env_t *env,
+ axis2_msg_ctx_t *msg_ctx,
+ axis2_tcp_simple_response_t *response);
+
+ /**
+ * @param sender soap over tcp sender
+ * @param env pointer to environment struct
+ * @param msg_ctx pointer to message context
+ * @param response pointer to response
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_sender_process_response(axis2_tcp_sender_t *sender,
+ const axutil_env_t *env,
+ axis2_msg_ctx_t *msg_ctx,
+ axis2_tcp_simple_response_t *response);
+
+
+ /**
+ * @param sender soap over tcp sender
+ * @param env pointer to environment struct
+ * @param msg_ctx pointer to message context
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_sender_get_timeout_values(axis2_tcp_sender_t *sender,
+ const axutil_env_t *env,
+ axis2_msg_ctx_t *msg_ctx);
+
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_sender_get_param_string(axis2_tcp_sender_t *sender,
+ const axutil_env_t *env,
+ axis2_msg_ctx_t *msg_ctx);
+
+ /**
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_tcp_sender_t *AXIS2_CALL
+ axis2_tcp_sender_create(const axutil_env_t *env);
+
+/** Send. */
+#define AXIS2_HTTP_SENDER_SEND(sender, env, msg_ctx, output, url,soap_action)\
+ axis2_tcp_sender_send(sender, env, msg_ctx,output, url, soap_action)
+
+/** Set chunked. */
+#define AXIS2_HTTP_SENDER_SET_CHUNKED(sender, env, chunked) \
+ axis2_tcp_sender_set_chunked(sender, env, chunked)
+
+/** Set om output. */
+#define AXIS2_HTTP_SENDER_SET_OM_OUTPUT(sender, env, om_output) \
+ axis2_tcp_sender_set_om_output (sender, env, om_output)
+
+/** Set tcp version. */
+#define AXIOM_SENDER_SET_HTTP_VERSION(sender, env, version)\
+ axis2_tcp_sender_set_tcp_version (sender, env, version)
+
+/** Frees the soap over tcp sender. */
+#define AXIS2_HTTP_SENDER_FREE(sender, env) \
+ axis2_tcp_sender_free(sender, env)
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_HTTP_SENDER_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_server.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_server.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_server.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_server.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,62 @@
+/*
+* 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
+*
+* tcp://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_TCP_SERVER_H
+#define AXIS2_TCP_SERVER_H
+
+/**
+ * @defgroup axis2_tcp_server tcp server
+ * @ingroup axis2_core_trans_tcp
+ * @{
+ */
+
+/**
+ * @file axis2_tcp_server.h
+ * @brief axis2 TCP Server implementation
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axis2_conf_ctx.h>
+#include <axis2_transport_receiver.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+
+ AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL
+ axis2_tcp_server_create (
+ const axutil_env_t *env,
+ const axis2_char_t *repo,
+ const int port);
+
+ axis2_status_t AXIS2_CALL
+ axis2_tcp_server_stop(
+ axis2_transport_receiver_t *server,
+ const axutil_env_t *env);
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_TCP_SERVER_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_simple_request.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_simple_request.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_simple_request.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_simple_request.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,200 @@
+/*
+* 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
+*
+* tcp://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_SIMPLE_REQUEST_H
+#define AXIS2_HTTP_SIMPLE_REQUEST_H
+
+/**
+ * @defgroup axis2_tcp_simple_request tcp simple request
+ * @ingroup axis2_core_trans_tcp
+ * @{
+ */
+
+/**
+ * @file axis2_tcp_simple_request.h
+ * @brief axis2 HTTP Simple Request
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axis2_tcp_request_line.h>
+#include <axis2_tcp_header.h>
+#include <axutil_stream.h>
+#include <axutil_array_list.h>
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axis2_tcp_simple_request */
+ typedef struct axis2_tcp_simple_request axis2_tcp_simple_request_t;
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_tcp_request_line_t *AXIS2_CALL
+ axis2_tcp_simple_request_get_request_line(const axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ * @param request_line pointer to request line
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_simple_request_set_request_line(axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env,
+ axis2_tcp_request_line_t *request_line);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ * @param name pointer to name
+ */
+ AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+ axis2_tcp_simple_request_contains_header(axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env,
+ const axis2_char_t *name);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
+ axis2_tcp_simple_request_get_headers(const axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ * @param str pointer to str
+ */
+ AXIS2_EXTERN axis2_tcp_header_t *AXIS2_CALL
+ axis2_tcp_simple_request_get_first_header(const axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env,
+ const axis2_char_t *str);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ * @param str pointer to str
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_simple_request_remove_headers(axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env,
+ const axis2_char_t *str);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ * @param header pointer to header
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_simple_request_add_header(axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env,
+ axis2_tcp_header_t *header);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
+ axis2_tcp_simple_request_get_content_type(const axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
+ axis2_tcp_simple_request_get_charset(const axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
+ axis2_tcp_simple_request_get_content_length(const axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL
+ axis2_tcp_simple_request_get_body(const axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ * @param buf double pointer to buf
+ */
+ AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
+ axis2_tcp_simple_request_get_body_bytes(const axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env,
+ char **buf);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ * @param str pointer to str
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_simple_request_set_body_string(axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env,
+ void *str,
+ unsigned int str_len);
+
+ /**
+ * @param simple_request pointer to simple request
+ * @param env pointer to environment struct
+ * @return void
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_simple_request_free(axis2_tcp_simple_request_t *simple_request,
+ const axutil_env_t *env);
+
+ /**
+ * @param env pointer to environment struct
+ * @param request_line pointer to request line
+ * @param tcp_headers double pointer to tcp headers
+ * @param tcp_hdr_count
+ * @param content pointer to content
+ */
+ AXIS2_EXTERN axis2_tcp_simple_request_t *AXIS2_CALL
+ axis2_tcp_simple_request_create (const axutil_env_t *env,
+ axis2_tcp_request_line_t *request_line,
+ axis2_tcp_header_t **tcp_headers,
+ axis2_ssize_t tcp_hdr_count,
+ axutil_stream_t *content);
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_HTTP_SIMPLE_REQUEST_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_simple_response.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_simple_response.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_simple_response.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_simple_response.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,260 @@
+/*
+ * 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
+ *
+ * tcp://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_SIMPLE_RESPONSE_H
+#define AXIS2_HTTP_SIMPLE_RESPONSE_H
+
+/**
+ * @defgroup axis2_tcp_simple_response tcp simple response
+ * @ingroup axis2_core_trans_tcp
+ * @{
+ */
+
+/**
+ * @file axis2_simple_tcp_response.h
+ * @brief axis2 HTTP Simple Response
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axutil_array_list.h>
+#include <axis2_tcp_status_line.h>
+#include <axis2_tcp_header.h>
+#include <axutil_stream.h>
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axis2_tcp_simple_response */
+ typedef struct axis2_tcp_simple_response axis2_tcp_simple_response_t;
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ * @param tcp_ver pointer to tcp_ver
+ * @param status_code pointer to status code
+ * @param phrase pointer to phrase
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_simple_response_set_status_line(struct axis2_tcp_simple_response *simple_response,
+ const axutil_env_t *env,
+ const axis2_char_t *tcp_ver,
+ const int status_code,
+ const axis2_char_t *phrase);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+ axis2_tcp_simple_response_get_phrase(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN int AXIS2_CALL
+ axis2_tcp_simple_response_get_status_code(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+ axis2_tcp_simple_response_get_tcp_version(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+ axis2_tcp_simple_response_get_status_line(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ * @param name pointer to name
+ */
+ AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+ axis2_tcp_simple_response_contains_header(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env,
+ const axis2_char_t *name);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axutil_array_list_t* AXIS2_CALL
+ axis2_tcp_simple_response_get_headers(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ * @param str pointer to str
+ */
+ AXIS2_EXTERN axis2_tcp_header_t* AXIS2_CALL
+ axis2_tcp_simple_response_get_first_header(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env,
+ const axis2_char_t *str);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ * @param str pointer to str
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_simple_response_remove_headers(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env,
+ const axis2_char_t *str);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ * @param header pointer to header
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_simple_response_set_header(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env,
+ axis2_tcp_header_t* header);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ * @param headers double pointer to headers
+ * @param array_size
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_simple_response_set_headers(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env,
+ axis2_tcp_header_t** headers,
+ axis2_ssize_t array_size);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN const axis2_char_t* AXIS2_CALL
+ axis2_tcp_simple_response_get_charset(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
+ axis2_tcp_simple_response_get_content_length(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN const axis2_char_t* AXIS2_CALL
+ axis2_tcp_simple_response_get_content_type(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ * @param str pointer to str
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_simple_response_set_body_string(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env,
+ axis2_char_t *str);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ * @param stream pointer to stream
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_simple_response_set_body_stream(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env,
+ axutil_stream_t *stream);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axutil_stream_t* AXIS2_CALL
+ axis2_tcp_simple_response_get_body(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ * @param buf double pointer to buf
+ */
+ AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
+ axis2_tcp_simple_response_get_body_bytes(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env,
+ axis2_char_t **buf);
+
+ /**
+ * @param simple_response pointer to simple response struct
+ * @param env pointer to environment struct
+ * @return void
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_simple_response_free(axis2_tcp_simple_response_t *simple_response,
+ const axutil_env_t *env);
+
+ /**
+ * @param env pointer to environment struct
+ * @param status_line pointer to status line
+ * @param tcp_headers double pointer to tcp_headers
+ * @param tcp_hdr_count
+ * @param content pointer to content
+ */
+ AXIS2_EXTERN axis2_tcp_simple_response_t * AXIS2_CALL
+ axis2_tcp_simple_response_create (
+ const axutil_env_t *env,
+ axis2_tcp_status_line_t *status_line,
+ const axis2_tcp_header_t **tcp_headers,
+ const axis2_ssize_t tcp_hdr_count,
+ axutil_stream_t *content);
+
+ /**
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_tcp_simple_response_t * AXIS2_CALL
+ axis2_tcp_simple_response_create_default(
+ const axutil_env_t *env);
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_HTTP_SIMPLE_RESPONSE_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_status_line.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_status_line.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_status_line.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_status_line.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,106 @@
+/*
+ * 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
+ *
+ * tcp://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_STATUS_LINE_H
+#define AXIS2_HTTP_STATUS_LINE_H
+
+/**
+ * @defgroup axis2_tcp_status_line tcp status line
+ * @ingroup axis2_core_trans_tcp
+ * @{
+ */
+
+/**
+ * @file axis2_tcp_status_line.h
+ * @brief axis2 HTTP Status Line
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axis2_tcp_status_line */
+ typedef struct axis2_tcp_status_line axis2_tcp_status_line_t;
+
+ /**
+ * @param status_line pointer to status line
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN int AXIS2_CALL
+ axis2_tcp_status_line_get_status_code(const axis2_tcp_status_line_t *status_line,
+ const axutil_env_t *env);
+
+ /**
+ * @param status_line pointer to status line
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_status_line_get_tcp_version(const axis2_tcp_status_line_t *status_line,
+ const axutil_env_t *env);
+
+ /**
+ * @param status_line pointer to status line
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_status_line_get_reason_phrase(const axis2_tcp_status_line_t *status_line,
+ const axutil_env_t *env);
+
+ /**
+ * @param status_line pointer to status line
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+ axis2_tcp_status_line_starts_with_tcp(axis2_tcp_status_line_t *status_line,
+ const axutil_env_t *env);
+
+ /**
+ * @param status_line pointer to status line
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_tcp_status_line_to_string(axis2_tcp_status_line_t *status_line,
+ const axutil_env_t *env);
+
+ /**
+ * @param status_line pointer to status line
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_status_line_free(axis2_tcp_status_line_t *status_line,
+ const axutil_env_t *env);
+
+ /**
+ * @param env pointer to environment struct
+ * @param str pointer to str
+ */
+ AXIS2_EXTERN axis2_tcp_status_line_t *AXIS2_CALL
+ axis2_tcp_status_line_create(const axutil_env_t *env,
+ const axis2_char_t *str);
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_HTTP_STATUS_LINE_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_svr_thread.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_svr_thread.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_svr_thread.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_svr_thread.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,109 @@
+/*
+ * 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
+ *
+ * tcp://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_TCP_SVR_THREAD_H
+#define AXIS2_TCP_SVR_THREAD_H
+
+/**
+ * @defgroup axis2_tcp_svr_thread tcp server thread
+ * @ingroup axis2_core_trans_tcp
+ * @{
+ */
+
+/**
+ * @file axis2_tcp_svr_thread.h
+ * @brief axis2 TCP server listning thread implementation
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axis2_tcp_worker.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axist_tcp_svr_thread */
+ typedef struct axis2_tcp_svr_thread axis2_tcp_svr_thread_t;
+
+ /**
+ * @param svr_thread pointer to server thread
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_svr_thread_run(axis2_tcp_svr_thread_t *svr_thread,
+ const axutil_env_t *env);
+
+ /**
+ * @param svr_thread pointer to server thread
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_svr_thread_destroy(axis2_tcp_svr_thread_t *svr_thread,
+ const axutil_env_t *env);
+
+ /**
+ * @param svr_thread pointer to server thread
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN int AXIS2_CALL
+ axis2_tcp_svr_thread_get_local_port(const axis2_tcp_svr_thread_t *svr_thread,
+ const axutil_env_t *env);
+
+ /**
+ * @param svr_thread pointer to server thread
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+ axis2_tcp_svr_thread_is_running(axis2_tcp_svr_thread_t *svr_thread,
+ const axutil_env_t *env);
+
+ /**
+ * @param svr_thread pointer to server thread
+ * @param env pointer to environment struct
+ * @param worker pointer to worker
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_tcp_svr_thread_set_worker(axis2_tcp_svr_thread_t *svr_thread,
+ const axutil_env_t *env,
+ axis2_tcp_worker_t *worker);
+
+ /**
+ * @param svr_thread pointer to server thread
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_tcp_svr_thread_free(axis2_tcp_svr_thread_t *svr_thread,
+ const axutil_env_t *env);
+
+ /**
+ * @param env pointer to environment struct
+ * @param port
+ */
+ AXIS2_EXTERN axis2_tcp_svr_thread_t *AXIS2_CALL
+ axis2_tcp_svr_thread_create (
+ const axutil_env_t *env,
+ int port);
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_TCP_SVR_THREAD_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_transport.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_transport.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_transport.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_transport.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,85 @@
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain count copy of the License at
+*
+* tcp://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_TCP_TRANSPORT_H
+#define AXIS2_TCP_TRANSPORT_H
+
+#include <axis2_const.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/** @defgroup axis2_core_trans_tcp tcp transport
+ * @ingroup axis2_transport
+ * Description.
+ * @{
+ */
+
+/**
+ * @defgroup axis2_core_transport_tcp core tcp transport
+ * @ingroup axis2_core_trans_tcp
+ * @{
+ */
+
+/**
+ * @brief TCP protocol and message context constants.
+ *
+ */
+#define AXIS2_TCP_OUT_TRANSPORT_INFO "TCPOutTransportInfo"
+/**
+ * PROTOCOL_VERSION
+ */
+#define AXIS2_TCP_PROTOCOL_VERSION "PROTOCOL"
+/**
+ * SOCKET
+ */
+#define AXIS2_SOCKET "SOCKET"
+
+/**
+ * HEADER_HOST
+ */
+#define AXIS2_TCP_HOST "Host"
+/**
+ * SO_TIMEOUT
+ */
+#define AXIS2_TCP_SO_TIMEOUT "SO_TIMEOUT"
+
+/**
+ * CONNECTION_TIMEOUT
+ */
+#define AXIS2_TCP_CONNECTION_TIMEOUT "CONNECTION_TIMEOUT"
+
+/**
+ * DEFAULT_SO_TIMEOUT
+ */
+#define AXIS2_TCP_DEFAULT_SO_TIMEOUT 60000
+
+/**
+ * DEFAULT_CONNECTION_TIMEOUT
+ */
+#define AXIS2_TCP_DEFAULT_CONNECTION_TIMEOUT 60000
+
+/**
+ * Field TRANSPORT_TCP
+ */
+#define AXIS2_TRANSPORT_TCP "tcp"
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_TCP_TRANSPORT_H */
Added: webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_transport_sender.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_transport_sender.h?view=auto&rev=557477
==============================================================================
--- webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_transport_sender.h (added)
+++ webservices/axis2/scratch/c/dinesh/602/c/src/core/transport/tcp/axis2_tcp_transport_sender.h Wed Jul 18 20:38:32 2007
@@ -0,0 +1,58 @@
+/*
+ * 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
+ *
+ * tcp://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_TRANSPORT_SENDER_H
+#define AXIS2_HTTP_TRANSPORT_SENDER_H
+
+/**
+ * @defgroup axis2_tcp_transport_sender tcp transport sender
+ * @ingroup axis2_core_trans_tcp
+ * @{
+ */
+
+/**
+ * @file axis2_tcp_transport_sender.h
+ * @brief axis2 HTTP Transport Sender (Handler) implementation
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axis2_msg_ctx.h>
+#include <axis2_conf_ctx.h>
+#include <axis2_transport_out_desc.h>
+#include <axis2_transport_sender.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /**
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_transport_sender_t *AXIS2_CALL
+ axis2_tcp_transport_sender_create(
+ const axutil_env_t *env);
+
+
+ /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_HTTP_TRANSPORT_SENDER_H */
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org