# 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 */