axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From din...@apache.org
Subject 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/
Date Thu, 19 Jul 2007 03:38:39 GMT
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


Mime
View raw message