axis2_msg_recv.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_MSG_RECV_H
00020 #define AXIS2_MSG_RECV_H
00021 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00046 #include <axis2_defines.h>
00047 #include <axis2_const.h>
00048 #include <axis2_svc_skeleton.h>
00049 #include <axis2_msg_ctx.h>
00050 #include <axis2_op_ctx.h>
00051 #include <axis2_svr_callback.h>
00052 #include <axis2_svc.h>
00053 
00054     struct axis2_msg_ctx;
00055 
00057     typedef struct axis2_msg_recv axis2_msg_recv_t;
00058 
00059     typedef axis2_status_t(
00060         AXIS2_CALL
00061         * AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC) (
00062             axis2_msg_recv_t * msg_recv,
00063             const axutil_env_t * env,
00064             struct axis2_msg_ctx * in_msg_ctx,
00065             struct axis2_msg_ctx * out_msg_ctx);
00066 
00067     typedef axis2_status_t(
00068         AXIS2_CALL
00069         * AXIS2_MSG_RECV_RECEIVE) (
00070             axis2_msg_recv_t * msg_recv,
00071             const axutil_env_t * env,
00072             struct axis2_msg_ctx * in_msg_ctx,
00073             void *callback_recv_param);
00074 
00075         typedef axis2_status_t(
00076                 AXIS2_CALL * AXIS2_MSG_RECV_LOAD_AND_INIT_SVC)(
00077                         axis2_msg_recv_t *msg_recv,
00078                         const axutil_env_t *env,
00079                         struct axis2_svc *svc);
00080 
00087     AXIS2_EXTERN void AXIS2_CALL
00088     axis2_msg_recv_free(
00089         axis2_msg_recv_t * msg_recv,
00090         const axutil_env_t * env);
00091 
00105     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00106     axis2_msg_recv_receive(
00107         axis2_msg_recv_t * msg_recv,
00108         const axutil_env_t * env,
00109         struct axis2_msg_ctx *in_msg_ctx,
00110         void *callback_recv_param);
00111 
00120     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00121 
00122     axis2_msg_recv_invoke_business_logic(
00123         axis2_msg_recv_t * msg_recv,
00124         const axutil_env_t * env,
00125         struct axis2_msg_ctx *in_msg_ctx,
00126         struct axis2_msg_ctx *out_msg_ctx);
00127 
00135     AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00136 
00137     axis2_msg_recv_make_new_svc_obj(
00138         axis2_msg_recv_t * msg_recv,
00139         const axutil_env_t * env,
00140         struct axis2_msg_ctx *msg_ctx);
00141 
00149     AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00150 
00151     axis2_msg_recv_get_impl_obj(
00152         axis2_msg_recv_t * msg_recv,
00153         const axutil_env_t * env,
00154         struct axis2_msg_ctx *msg_ctx);
00155 
00163     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00164     axis2_msg_recv_set_scope(
00165         axis2_msg_recv_t * msg_recv,
00166         const axutil_env_t * env,
00167         const axis2_char_t * scope);
00168 
00175     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00176     axis2_msg_recv_get_scope(
00177         axis2_msg_recv_t * msg_recv,
00178         const axutil_env_t * env);
00179 
00187     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00188     axis2_msg_recv_delete_svc_obj(
00189         axis2_msg_recv_t * msg_recv,
00190         const axutil_env_t * env,
00191         axis2_msg_ctx_t * msg_ctx);
00192 
00193     AXIS2_EXPORT axis2_status_t AXIS2_CALL
00194 
00195     axis2_msg_recv_set_invoke_business_logic(
00196         axis2_msg_recv_t * msg_recv,
00197         const axutil_env_t * env,
00198         AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC func);
00199 
00200     AXIS2_EXPORT axis2_status_t AXIS2_CALL
00201     axis2_msg_recv_set_derived(
00202         axis2_msg_recv_t * msg_recv,
00203         const axutil_env_t * env,
00204         void *derived);
00205 
00206     AXIS2_EXPORT void *AXIS2_CALL
00207     axis2_msg_recv_get_derived(
00208         const axis2_msg_recv_t * msg_recv,
00209         const axutil_env_t * env);
00210 
00211     AXIS2_EXPORT axis2_status_t AXIS2_CALL
00212     axis2_msg_recv_set_receive(
00213         axis2_msg_recv_t * msg_recv,
00214         const axutil_env_t * env,
00215         AXIS2_MSG_RECV_RECEIVE func);
00216 
00217         AXIS2_EXPORT axis2_status_t AXIS2_CALL
00218         axis2_msg_recv_set_load_and_init_svc(
00219                 axis2_msg_recv_t *msg_recv,
00220                 const axutil_env_t *env,
00221                 AXIS2_MSG_RECV_LOAD_AND_INIT_SVC func);
00222 
00223         AXIS2_EXPORT axis2_status_t AXIS2_CALL
00224         axis2_msg_recv_load_and_init_svc(
00225                 axis2_msg_recv_t *msg_recv,
00226                 const axutil_env_t *env,
00227                 struct axis2_svc *svc);
00228 
00236     AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL
00237     axis2_msg_recv_create(
00238         const axutil_env_t * env);
00239 
00241 #ifdef __cplusplus
00242 }
00243 #endif
00244 
00245 #endif                          /* AXIS2_MSG_RECV_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3