axis2_module_desc.h

00001 /*
00002 * Licensed to the Apache Software Foundation (ASF) under one or more
00003 * contributor license agreements.  See the NOTICE file distributed with
00004 * this work for additional information regarding copyright ownership.
00005 * The ASF licenses this file to You under the Apache License, Version 2.0
00006 * (the "License"); you may not use this file except in compliance with
00007 * the License.  You may obtain a copy of the License at
00008 *
00009 *      http://www.apache.org/licenses/LICENSE-2.0
00010 *
00011 * Unless required by applicable law or agreed to in writing, software
00012 * distributed under the License is distributed on an "AS IS" BASIS,
00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014 * See the License for the specific language governing permissions and
00015 * limitations under the License.
00016 */
00017 #ifndef AXIS2_MODULE_DESC_H
00018 #define AXIS2_MODULE_DESC_H
00019 
00031 #include <axis2_const.h>
00032 #include <axis2_error.h>
00033 #include <axis2_defines.h>
00034 #include <axis2_env.h>
00035 #include <axis2_allocator.h>
00036 #include <axis2_string.h>
00037 #include <axis2_array_list.h>
00038 #include <axis2_param_container.h>
00039 #include <axis2_flow_container.h>
00040 #include <axis2_param.h>
00041 #include <axis2_op.h>
00042 #include <axis2_conf.h>
00043 
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048 
00050     typedef struct axis2_module_desc_ops axis2_module_desc_ops_t;
00052     typedef struct axis2_module_desc axis2_module_desc_t;
00053 
00054     struct axis2_op;
00055     struct axis2_conf;
00056 
00057 
00062     struct axis2_module_desc_ops
00063     {
00070         axis2_status_t (AXIS2_CALL *
00071                 free)(
00072                     axis2_module_desc_t *module_desc,
00073                     const axis2_env_t *env);
00074 
00082         axis2_flow_t *(AXIS2_CALL *
00083                 get_in_flow)(
00084                     const axis2_module_desc_t *module_desc,
00085                     const axis2_env_t *env);
00086 
00095         axis2_status_t (AXIS2_CALL *
00096                 set_in_flow)(
00097                     axis2_module_desc_t *module_desc,
00098                     const axis2_env_t *env,
00099                     axis2_flow_t *in_flow);
00100 
00108         axis2_flow_t *(AXIS2_CALL *
00109                 get_out_flow)(
00110                     const axis2_module_desc_t *module_desc,
00111                     const axis2_env_t *env);
00112 
00121         axis2_status_t (AXIS2_CALL *
00122                 set_out_flow)(
00123                     axis2_module_desc_t *module_desc,
00124                     const axis2_env_t *env,
00125                     axis2_flow_t *out_flow);
00126 
00134         axis2_flow_t *(AXIS2_CALL *
00135                 get_fault_in_flow)(
00136                     const axis2_module_desc_t *module_desc,
00137                     const axis2_env_t *env);
00138 
00147         axis2_status_t (AXIS2_CALL *
00148                 set_fault_in_flow)(
00149                     axis2_module_desc_t *module_desc,
00150                     const axis2_env_t *env,
00151                     axis2_flow_t *falut_in_flow);
00152 
00160         axis2_flow_t *(AXIS2_CALL *
00161                 get_fault_out_flow)(
00162                     const axis2_module_desc_t *module_desc,
00163                     const axis2_env_t *env);
00164 
00173         axis2_status_t (AXIS2_CALL *
00174                 set_fault_out_flow)(
00175                     axis2_module_desc_t *module_desc,
00176                     const axis2_env_t *env,
00177                     axis2_flow_t *fault_out_flow);
00178 
00185         const axis2_qname_t *(AXIS2_CALL *
00186                 get_qname)(
00187                     const axis2_module_desc_t *module_desc,
00188                     const axis2_env_t *env);
00189 
00197         axis2_status_t (AXIS2_CALL *
00198                 set_qname)(
00199                     axis2_module_desc_t *module_desc,
00200                     const axis2_env_t *env,
00201                     const axis2_qname_t *qname);
00202 
00210         axis2_status_t (AXIS2_CALL *
00211                 add_op)(
00212                     axis2_module_desc_t *module_desc,
00213                     const axis2_env_t *env,
00214                     struct axis2_op *op);
00215 
00222         axis2_hash_t *(AXIS2_CALL *
00223                 get_all_ops)(
00224                     const axis2_module_desc_t *module_desc,
00225                     const axis2_env_t *env);
00226 
00234         struct axis2_conf *(AXIS2_CALL *
00235                 get_parent)(
00236                     const axis2_module_desc_t *module_desc,
00237                     const axis2_env_t *env);
00238 
00247         axis2_status_t (AXIS2_CALL *
00248                 set_parent)(
00249                     axis2_module_desc_t *module_desc,
00250                     const axis2_env_t *env,
00251                     struct axis2_conf *parent);
00252 
00260         axis2_status_t (AXIS2_CALL *
00261                 add_param)(
00262                     axis2_module_desc_t *module_desc,
00263                     const axis2_env_t *env,
00264                     axis2_param_t *param);
00265 
00273         axis2_param_t *(AXIS2_CALL *
00274                 get_param)(
00275                     const axis2_module_desc_t *module_desc,
00276                     const axis2_env_t *env,
00277                     const axis2_char_t *name);
00278 
00285         axis2_array_list_t *(AXIS2_CALL *
00286                 get_all_params)(
00287                     const axis2_module_desc_t *module_desc,
00288                     const axis2_env_t *env);
00289 
00297         axis2_bool_t (AXIS2_CALL *
00298                 is_param_locked)(
00299                     const axis2_module_desc_t *module_desc,
00300                     const axis2_env_t *env,
00301                     const axis2_char_t *param_name);
00302 
00309         struct axis2_module *(AXIS2_CALL *
00310                 get_module)(
00311                     const axis2_module_desc_t *module_desc,
00312                     const axis2_env_t *env);
00313 
00321         axis2_status_t (AXIS2_CALL *
00322                 set_module)(
00323                     axis2_module_desc_t *module_desc,
00324                     const axis2_env_t *env,
00325                     struct axis2_module *module);
00326 
00327     };
00328 
00332     struct axis2_module_desc
00333     {
00335         axis2_module_desc_ops_t *ops;
00340         axis2_flow_container_t *flow_container;
00345         axis2_param_container_t *params;
00346     };
00347 
00353     AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL
00354     axis2_module_desc_create (
00355         const axis2_env_t *env);
00356 
00363     AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL
00364     axis2_module_desc_create_with_qname(
00365         const axis2_env_t *env,
00366         const axis2_qname_t *qname);
00367 
00376     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00377     axis2_module_desc_free_void_arg(
00378         void *module_desc,
00379         const axis2_env_t *env);
00380 
00381 
00384 #define AXIS2_MODULE_DESC_FREE(module_desc, env) \
00385       ((module_desc)->ops->free(module_desc, env))
00386 
00389 #define AXIS2_MODULE_DESC_GET_IN_FLOW(module_desc, env) \
00390         ((module_desc)->ops->get_in_flow (module_desc, env))
00391 
00394 #define AXIS2_MODULE_DESC_SET_IN_FLOW(module_desc, env, in_flow) \
00395         ((module_desc)->ops->set_in_flow (module_desc, env, in_flow))
00396 
00399 #define AXIS2_MODULE_DESC_GET_OUT_FLOW(module_desc, env) \
00400       ((module_desc)->ops->get_out_flow (module_desc, env))
00401 
00404 #define AXIS2_MODULE_DESC_SET_OUT_FLOW(module_desc, env, out_flow) \
00405       ((module_desc)->ops->set_out_flow (module_desc, env, out_flow))
00406 
00409 #define AXIS2_MODULE_DESC_GET_FAULT_IN_FLOW(module_desc, env) \
00410       ((module_desc)->ops->get_fault_in_flow (module_desc, env))
00411 
00414 #define AXIS2_MODULE_DESC_SET_FAULT_IN_FLOW(module_desc, env, falut_in_flow) \
00415         ((module_desc)->ops->set_fault_in_flow(module_desc , env, falut_in_flow))
00416 
00419 #define AXIS2_MODULE_DESC_GET_FAULT_OUT_FLOW(module_desc, env) \
00420         ((module_desc)->ops->get_fault_out_flow(module_desc , env))
00421 
00424 #define AXIS2_MODULE_DESC_SET_FAULT_OUT_FLOW(module_desc, env, falut_out_flow) \
00425         ((module_desc)->ops->set_fault_out_flow(module_desc , env, falut_out_flow))
00426 
00429 #define AXIS2_MODULE_DESC_GET_QNAME(module_desc, env) \
00430         ((module_desc)->ops->get_qname(module_desc, env))
00431 
00434 #define AXIS2_MODULE_DESC_SET_QNAME(module_desc, env, qname) \
00435         ((module_desc)->ops->set_qname(module_desc, env, qname))
00436 
00439 #define AXIS2_MODULE_DESC_ADD_OP(module_desc, env, op) \
00440         ((module_desc)->ops->add_op(module_desc, env, op))
00441 
00444 #define AXIS2_MODULE_DESC_GET_ALL_OPS(module_desc, env) \
00445         ((module_desc)->ops->get_all_ops(module_desc, env))
00446 
00449 #define AXIS2_MODULE_DESC_GET_PARENT(module_desc, env) \
00450         ((module_desc)->ops->get_parent(module_desc, env))
00451 
00454 #define AXIS2_MODULE_DESC_SET_PARENT(module_desc, env, parent) \
00455         ((module_desc)->ops->set_parent(module_desc, env, parent))
00456 
00459 #define AXIS2_MODULE_DESC_ADD_PARAM(module_desc, env, param) \
00460         ((module_desc)->ops->add_param(module_desc, env, param))
00461 
00464 #define AXIS2_MODULE_DESC_GET_PARAM(module_desc, env, name) \
00465         ((module_desc)->ops->get_param(module_desc, env, name))
00466 
00469 #define AXIS2_MODULE_DESC_GET_ALL_PARAMS(module_desc, env) \
00470         ((module_desc)->ops->get_all_params(module_desc, env))
00471 
00474 #define AXIS2_MODULE_DESC_IS_PARAM_LOCKED(module_desc, env, param_name) \
00475         ((module_desc)->ops->is_param_locked(module_desc, env, param_name))
00476 
00479 #define AXIS2_MODULE_DESC_GET_MODULE(module_desc, env) \
00480         ((module_desc)->ops->get_module(module_desc, env))
00481 
00484 #define AXIS2_MODULE_DESC_SET_MODULE(module_desc, env, module) \
00485         ((module_desc)->ops->set_module(module_desc, env, module))
00486 
00489 #ifdef __cplusplus
00490 }
00491 #endif
00492 #endif /* AXIS2_MODULE_DESC_H */

Generated on Wed Dec 20 20:34:49 2006 for Axis2/C by  doxygen 1.5.1