axis2_transport_receiver.h

Go to the documentation of this file.
00001 /*
00002 * Copyright 2004,2005 The Apache Software Foundation.
00003 *
00004 * Licensed under the Apache License, Version 2.0 (the "License");
00005 * you may not use this file except in compliance with the License.
00006 * You may obtain a copy of the License at
00007 *
00008 *      http://www.apache.org/licenses/LICENSE-2.0
00009 *
00010 * Unless required by applicable law or agreed to in writing, software
00011 * distributed under the License is distributed on an "AS IS" BASIS,
00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013 * See the License for the specific language governing permissions and
00014 * limitations under the License.
00015 */
00016 
00017 #ifndef AXIS2_TRANSPORT_RECEIVER_H
00018 #define AXIS2_TRANSPORT_RECEIVER_H
00019 
00038 #include <axis2_const.h>
00039 #include <axis2_error.h>
00040 #include <axis2_defines.h>
00041 #include <axis2_env.h>
00042 #include <axis2_allocator.h>
00043 #include <axis2_endpoint_ref.h>
00044 #include <axis2_ctx.h>
00045 #include <axis2_conf_ctx.h>
00046 
00047 
00048 
00049 #ifdef __cplusplus
00050 extern "C"
00051 {
00052 #endif
00053 
00054     struct axis2_conf_ctx;
00055     struct axis2_transport_in_desc;
00057     typedef struct axis2_transport_receiver axis2_transport_receiver_t;
00059     typedef struct axis2_transport_receiver_ops axis2_transport_receiver_ops_t;
00060 
00065      struct axis2_transport_receiver_ops
00066     {
00072         axis2_status_t (AXIS2_CALL *
00073                 free)(
00074                     axis2_transport_receiver_t *transport_receiver,
00075                     const axis2_env_t *env);
00076 
00081         axis2_status_t (AXIS2_CALL *
00082                 start)(
00083                     axis2_transport_receiver_t *transport_receiver,
00084                     const axis2_env_t *env);
00085 
00090         axis2_status_t (AXIS2_CALL *
00091                 stop)(
00092                     axis2_transport_receiver_t *transport_receiver,
00093                     const axis2_env_t *env);
00094 
00100         axis2_endpoint_ref_t* (AXIS2_CALL *
00101                 get_reply_to_epr)(
00102                     axis2_transport_receiver_t *transport_receiver,
00103                     const axis2_env_t *env,
00104                     const axis2_char_t *svc_name);
00105 
00112         axis2_status_t (AXIS2_CALL *
00113                 init) (
00114                     axis2_transport_receiver_t *transport_receiver,
00115                     const axis2_env_t *env,
00116                     struct axis2_conf_ctx *conf_ctx,
00117                     struct axis2_transport_in_desc *transport_in);
00118 
00119 
00124         struct axis2_conf_ctx* (AXIS2_CALL *
00125                 get_conf_ctx)(
00126                     axis2_transport_receiver_t *server,
00127                     const axis2_env_t *env);
00128 
00129 
00134         axis2_bool_t (AXIS2_CALL *
00135                 is_running)(
00136                     axis2_transport_receiver_t *server,
00137                     const axis2_env_t *env);
00138 
00139     };
00140 
00144      struct axis2_transport_receiver
00145     {
00146         axis2_transport_receiver_ops_t *ops;
00147     };
00148 
00149 
00150 /*************************** Function macros **********************************/
00151 
00154 #define AXIS2_TRANSPORT_RECEIVER_FREE(transport_receiver, env) \
00155       ((transport_receiver->ops)->free (transport_receiver, env))
00156 
00159 #define AXIS2_TRANSPORT_RECEIVER_INIT(transport_receiver, env, axisconf, transport_in) \
00160       ((transport_receiver->ops)->init (transport_receiver, env, axisconf, transport_in))
00161 
00164 #define AXIS2_TRANSPORT_RECEIVER_START(transport_receiver, env) \
00165       ((transport_receiver->ops)->start (transport_receiver, env))
00166 
00169 #define AXIS2_TRANSPORT_RECEIVER_STOP(transport_receiver, env) \
00170       ((transport_receiver->ops)->stop (transport_receiver, env))
00171 
00174 #define AXIS2_TRANSPORT_RECEIVER_GET_REPLY_TO_EPR(transport_receiver, env, svc_name) \
00175       ((transport_receiver->ops)->get_reply_to_epr (transport_receiver, env, svc_name))
00176 
00179 #define AXIS2_TRANSPORT_RECEIVER_GET_CONF_CTX(transport_receiver, env) \
00180                         ((transport_receiver)->ops->get_conf_ctx(transport_receiver, env))
00181 
00184 #define AXIS2_TRANSPORT_RECEIVER_IS_RUNNING(transport_receiver, env) \
00185                                 ((transport_receiver)->ops->is_running(transport_receiver, env))
00186 
00187 /*************************** End of function macros ***************************/
00188 
00191 #ifdef __cplusplus
00192 }
00193 #endif
00194 #endif  /* AXIS2_TRANSPORT_RECEIVER_H */

Generated on Thu Oct 26 21:00:11 2006 for Axis2/C by  doxygen 1.4.7