axis2_listener_manager.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_LISTENER_MANAGER_H
00018 #define AXIS2_LISTENER_MANAGER_H
00019 
00038 #include <axis2_defines.h>
00039 #include <axis2_env.h>
00040 #include <axis2_conf_ctx.h>
00041 
00042 #ifdef __cplusplus
00043 extern "C"
00044 {
00045 #endif
00046 
00048     typedef struct axis2_listener_manager_ops axis2_listener_manager_ops_t;
00050     typedef struct axis2_listener_manager axis2_listener_manager_t;
00051 
00052 
00057     struct axis2_listener_manager_ops
00058     {
00070         axis2_status_t (AXIS2_CALL *
00071                 make_sure_started)(
00072                     axis2_listener_manager_t *listener_manager,
00073                     const axis2_env_t *env,
00074                     const axis2_char_t *transport,
00075                     axis2_conf_ctx_t *conf_ctx);
00076 
00084         axis2_status_t (AXIS2_CALL *
00085                 stop)(
00086                     axis2_listener_manager_t *listener_manager,
00087                     const axis2_env_t *env,
00088                     const axis2_char_t *transport);
00099         axis2_endpoint_ref_t* (AXIS2_CALL *
00100                 get_reply_to_epr)(
00101                 const axis2_listener_manager_t *listener_manager,
00102                 const axis2_env_t *env,
00103                 const axis2_char_t *svc_name,
00104                 const axis2_char_t *transport);
00105 
00112         axis2_conf_ctx_t *(AXIS2_CALL *
00113                 get_conf_ctx)(
00114                     const axis2_listener_manager_t *listener_manager,
00115                     const axis2_env_t *env);
00122         axis2_status_t (AXIS2_CALL *
00123                 free)(
00124                     axis2_listener_manager_t *listener_manager,
00125                     const axis2_env_t *env);
00126 
00127     };
00128 
00132     struct axis2_listener_manager
00133     {
00135         axis2_listener_manager_ops_t *ops;
00136     };
00137 
00144     AXIS2_EXTERN axis2_listener_manager_t *AXIS2_CALL
00145     axis2_listener_manager_create(
00146         const axis2_env_t *env);
00147 
00150 #define AXIS2_LISTNER_MANAGER_MAKE_SURE_STARTED(listener_manager, env, transport, conf_ctx)\
00151         ((listener_manager)->ops->make_sure_started(listener_manager, env, transport, conf_ctx))
00152 
00155 #define AXIS2_LISTENER_MANAGER_STOP(listener_manager, env, transport)\
00156         ((listener_manager)->ops->stop(listener_manager, env, transport))
00157 
00160 #define AXIS2_LISTNER_MANAGER_GET_REPLY_TO_EPR(listener_manager, env, svc_name, transport) \
00161         ((listener_manager)->ops->get_reply_to_epr(listener_manager, env, svc_name, transport))
00162 
00165 #define AXIS2_LISTNER_MANAGER_GET_CONF_CTX(listener_manager, env) \
00166         ((listener_manager)->ops->get_conf_ctx(listener_manager, env))
00167 
00170 #define AXIS2_LISTNER_MANAGER_FREE(listener_manager, env) \
00171         ((listener_manager)->ops->free(listener_manager, env))
00172 
00174 #ifdef __cplusplus
00175 }
00176 #endif
00177 
00178 #endif                          /* AXIS2_LISTENER_MANAGER_H */

Generated on Tue Oct 3 22:35:47 2006 for Axis2/C by  doxygen 1.4.7