axis2_conf.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_CONFIG_H
00018 #define AXIS2_CONFIG_H
00019 
00042 #include <axis2_param_container.h>
00043 #include <axis2_svc_grp.h>
00044 #include <axis2_transport_in_desc.h>
00045 #include <axis2_transport_out_desc.h>
00046 #include <axis2_qname.h>
00047 #include <axis2_hash.h>
00048 #include <axis2_phases_info.h>
00049 #include <axis2_msg_recv.h>
00050 #include <axis2_disp_checker.h>
00051 
00052 #ifdef __cplusplus
00053 extern "C"
00054 {
00055 #endif
00056 
00058     typedef struct axis2_conf_ops axis2_conf_ops_t;
00060     typedef struct axis2_conf axis2_conf_t;
00061 
00062     struct axis2_msg_recv;
00063     struct axis2_phases_info;
00064     struct axis2_svc_grp;
00065     struct axis2_svc;
00066     struct axis2_op;
00067     struct axis2_dep_engine;
00068     struct axis2_desp;
00069 
00074     struct axis2_conf_ops
00075     {
00082         axis2_status_t (AXIS2_CALL *
00083                 free)(
00084                     axis2_conf_t *conf,
00085                     const axis2_env_t *env);
00086 
00095         axis2_status_t (AXIS2_CALL *
00096                 add_svc_grp)(
00097                     axis2_conf_t *conf,
00098                     const axis2_env_t *env,
00099                     struct axis2_svc_grp *svc_grp);
00100 
00109         struct axis2_svc_grp *(AXIS2_CALL *
00110                 get_svc_grp)(
00111                     const axis2_conf_t *conf,
00112                     const axis2_env_t *env,
00113                     const axis2_char_t *svc_grp_name);
00114 
00122         axis2_hash_t *(AXIS2_CALL *
00123                 get_all_svc_grps)(
00124                     const axis2_conf_t *conf,
00125                     const axis2_env_t *env);
00126 
00135         axis2_status_t (AXIS2_CALL *
00136                 add_svc)(
00137                     axis2_conf_t *conf,
00138                     const axis2_env_t *env,
00139                     struct axis2_svc* svc);
00140 
00149         struct axis2_svc *(AXIS2_CALL *
00150                 get_svc)(
00151                     const axis2_conf_t *conf,
00152                     const axis2_env_t *env,
00153                     const axis2_char_t* svc_name);
00154 
00162         axis2_status_t (AXIS2_CALL *
00163                 remove_svc)(
00164                     axis2_conf_t *conf,
00165                     const axis2_env_t *env,
00166                     const axis2_char_t *name);
00167 
00175         axis2_status_t (AXIS2_CALL *
00176                 add_param)(
00177                     axis2_conf_t *conf,
00178                     const axis2_env_t *env,
00179                     axis2_param_t *param);
00180 
00189         axis2_param_t *(AXIS2_CALL *
00190                 get_param)(
00191                     const axis2_conf_t *conf,
00192                     const axis2_env_t *env,
00193                     const axis2_char_t *name);
00194 
00202         axis2_array_list_t *(AXIS2_CALL *
00203                 get_all_params)(
00204                     const axis2_conf_t *conf,
00205                     const axis2_env_t *env);
00206 
00214         axis2_bool_t (AXIS2_CALL *
00215                 is_param_locked)(
00216                     const axis2_conf_t *conf,
00217                     const axis2_env_t *env,
00218                     const axis2_char_t *param_name);
00219 
00228         axis2_transport_in_desc_t *(AXIS2_CALL *
00229                 get_transport_in)(
00230                     const axis2_conf_t *conf,
00231                     const axis2_env_t *env,
00232                     const axis2_qname_t *qname);
00233 
00242         axis2_status_t (AXIS2_CALL *
00243                 add_transport_in)(
00244                     axis2_conf_t *conf,
00245                     const axis2_env_t *env,
00246                     axis2_transport_in_desc_t *transport);
00247 
00256         axis2_transport_out_desc_t *(AXIS2_CALL *
00257                 get_transport_out)(
00258                     const axis2_conf_t *conf,
00259                     const axis2_env_t *env,
00260                     const axis2_qname_t *qname);
00261 
00270         axis2_status_t (AXIS2_CALL *
00271                 add_transport_out)(
00272                     axis2_conf_t *conf,
00273                     const axis2_env_t *env,
00274                     axis2_transport_out_desc_t *transport);
00275 
00283         axis2_hash_t *(AXIS2_CALL *
00284                 get_all_in_transports)(
00285                     const axis2_conf_t *conf,
00286                     const axis2_env_t *env);
00287 
00295         axis2_hash_t *(AXIS2_CALL *
00296                 get_all_out_transports)(
00297                     const axis2_conf_t *conf,
00298                     const axis2_env_t *env);
00299 
00307         struct axis2_module_desc *(AXIS2_CALL *
00308                 get_module)(
00309                     const axis2_conf_t *conf,
00310                     const axis2_env_t *env,
00311                     const axis2_qname_t *qname);
00312 
00320         axis2_array_list_t *(AXIS2_CALL *
00321                 get_all_engaged_modules)( 
00322                     const axis2_conf_t *conf,
00323                     const axis2_env_t *env);
00324 
00332         axis2_array_list_t *(AXIS2_CALL *
00333                 get_in_phases_upto_and_including_post_dispatch)(
00334                     const axis2_conf_t *conf,
00335                     const axis2_env_t *env);
00336 
00345         axis2_array_list_t *(AXIS2_CALL *
00346                 get_out_flow)(
00347                     const axis2_conf_t *conf,
00348                     const axis2_env_t *env);
00349 
00350 
00359         axis2_array_list_t *(AXIS2_CALL *
00360                 get_in_fault_flow)(
00361                     const axis2_conf_t *conf,
00362                     const axis2_env_t *env);
00363 
00372         axis2_array_list_t *(AXIS2_CALL *
00373                 get_out_fault_flow)(
00374                     const axis2_conf_t *conf,
00375                     const axis2_env_t *env);
00376 
00386         axis2_hash_t *(AXIS2_CALL *
00387                 get_all_faulty_svcs)(
00388                     const axis2_conf_t *conf,
00389                     const axis2_env_t *env);
00390 
00400         axis2_hash_t *(AXIS2_CALL *
00401                 get_all_faulty_modules)(
00402                     const axis2_conf_t *conf,
00403                     const axis2_env_t *env);
00404 
00412         axis2_hash_t *(AXIS2_CALL *
00413                 get_all_svcs)(
00414                     const axis2_conf_t *conf,
00415                     const axis2_env_t *env);
00416 
00424         axis2_bool_t (AXIS2_CALL *
00425                 is_engaged)(
00426                     axis2_conf_t *conf,
00427                     const axis2_env_t *env,
00428                     const axis2_qname_t *module_name);
00429 
00437         struct axis2_phases_info *(AXIS2_CALL *
00438                 get_phases_info)(
00439                     const axis2_conf_t *conf,
00440                     const axis2_env_t *env);
00441 
00450         axis2_status_t (AXIS2_CALL *
00451                 set_phases_info)(
00452                     axis2_conf_t *conf,
00453                     const axis2_env_t *env,
00454                     struct axis2_phases_info *phases_info);
00455 
00464         axis2_status_t (AXIS2_CALL *
00465                 add_msg_recv)(
00466                     axis2_conf_t *conf,
00467                     const axis2_env_t *env,
00468                     const axis2_char_t *key,
00469                     struct axis2_msg_recv *msg_recv);
00470 
00480         struct axis2_msg_recv *(AXIS2_CALL *
00481                 get_msg_recv)(
00482                     const axis2_conf_t *conf,
00483                     const axis2_env_t *env,
00484                     axis2_char_t *key);
00485 
00494         axis2_status_t (AXIS2_CALL *
00495                 set_out_phases)(
00496                     axis2_conf_t *conf,
00497                     const axis2_env_t *env,
00498                     axis2_array_list_t *out_phases);
00499 
00507         axis2_array_list_t *(AXIS2_CALL *
00508                 get_out_phases)(
00509                     const axis2_conf_t *conf,
00510                     const axis2_env_t *env);
00511 
00519         axis2_status_t (AXIS2_CALL *
00520                 set_in_fault_phases)(
00521                     axis2_conf_t *conf,
00522                     const axis2_env_t *env,
00523                     axis2_array_list_t *list);
00524 
00532         axis2_status_t (AXIS2_CALL *
00533                 set_out_fault_phases)(
00534                     axis2_conf_t *conf,
00535                     const axis2_env_t *env,
00536                     axis2_array_list_t *list);
00537 
00545         axis2_hash_t *(AXIS2_CALL *
00546                 get_all_modules)(
00547                     const axis2_conf_t *conf,
00548                     const axis2_env_t *env);
00549 
00557         axis2_status_t (AXIS2_CALL *
00558                 add_module)(
00559                     axis2_conf_t *conf,
00560                     const axis2_env_t *env,
00561                     struct axis2_module_desc *module);
00562 
00569         axis2_status_t (AXIS2_CALL *
00570                 set_default_dispatchers)(
00571                     axis2_conf_t *conf,
00572                     const axis2_env_t *env);
00573 
00581         axis2_status_t (AXIS2_CALL *
00582                 set_dispatch_phase)(
00583                     axis2_conf_t *conf,
00584                     const axis2_env_t *env,
00585                     axis2_phase_t *dispatch);
00586 
00593         const axis2_char_t *(AXIS2_CALL *
00594                 get_repo)(
00595                     const axis2_conf_t *conf,
00596                     const axis2_env_t *env);
00597 
00605         axis2_status_t (AXIS2_CALL *
00606                 set_repo)(
00607                     axis2_conf_t *conf,
00608                     const axis2_env_t *env,
00609                     axis2_char_t *axis2_repo);
00610 
00618         axis2_status_t (AXIS2_CALL *
00619                 engage_module)(
00620                     axis2_conf_t *conf,
00621                     const axis2_env_t *env,
00622                     const axis2_qname_t *module_ref);
00623 
00631         axis2_status_t (AXIS2_CALL *
00632                 set_dep_engine)(
00633                     axis2_conf_t *conf,
00634                     const axis2_env_t *env,
00635                     struct axis2_dep_engine *dep_engine);
00636 
00644         const axis2_char_t *(AXIS2_CALL *
00645                 get_default_module_version)(
00646                     const axis2_conf_t *conf,
00647                     const axis2_env_t *env,
00648                     const axis2_char_t *module_name);
00649 
00658         struct axis2_module_desc *(AXIS2_CALL *
00659                 get_default_module)(
00660                     const axis2_conf_t *conf, 
00661                     const axis2_env_t *env,
00662                     const axis2_char_t *module_name);
00663 
00672         axis2_status_t (AXIS2_CALL *
00673                 add_default_module_version)(
00674                     axis2_conf_t *conf, 
00675                     const axis2_env_t *env,
00676                     const axis2_char_t *module_name,
00677                     const axis2_char_t *module_version);
00678 
00687         axis2_status_t (AXIS2_CALL *
00688                 engage_module_with_version)(
00689                     axis2_conf_t *conf, 
00690                     const axis2_env_t *env,
00691                     const axis2_char_t *module_name,
00692                     const axis2_char_t *version_id);
00693 
00694     };
00695 
00699     struct axis2_conf
00700     {
00702         axis2_conf_ops_t *ops;
00704         axis2_param_container_t *param_container;
00705     };
00706 
00712     AXIS2_EXTERN axis2_conf_t *AXIS2_CALL
00713     axis2_conf_create(
00714         const axis2_env_t *env);
00715 
00716 
00719 #define AXIS2_CONF_FREE(conf, env) \
00720       ((conf)->ops->free(conf, env))
00721 
00724 #define AXIS2_CONF_ADD_SVC_GRP(conf, env, svc_grp) \
00725         ((conf)->ops->add_svc_grp (conf, env, svc_grp))
00726 
00729 #define AXIS2_CONF_GET_SVC_GRP(conf, env, svc_grp_name) \
00730         ((conf)->ops->get_svc_grp (conf, env, svc_grp_name))
00731 
00734 #define AXIS2_CONF_GET_ALL_SVC_GRPS(conf, env) \
00735         ((conf)->ops->get_all_svc_grps (conf, env))
00736 
00739 #define AXIS2_CONF_ADD_SVC(conf, env, svc) \
00740       ((conf)->ops->add_svc (conf, env, svc))
00741 
00744 #define AXIS2_CONF_GET_SVC(conf, env, svc_name) \
00745       ((conf)->ops->get_svc (conf, env, svc_name))
00746 
00749 #define AXIS2_CONF_REMOVE_SVC(conf, env, svc_name) \
00750       ((conf)->ops->remove_svc (conf, env, svc_name))
00751 
00754 #define AXIS2_CONF_ADD_PARAM(conf, env, param) \
00755         ((conf)->ops->add_param(conf , env, param))
00756 
00759 #define AXIS2_CONF_GET_PARAM(conf, env, name) \
00760         ((conf)->ops->get_param(conf , env, name))
00761 
00764 #define AXIS2_CONF_GET_ALL_PARAMS(conf, env) \
00765         ((conf)->ops->get_all_params(conf , env))
00766 
00769 #define AXIS2_CONF_IS_PARAM_LOCKED(conf, env, param_name) \
00770         ((conf)->ops->is_param_locked(conf, env, param_name))
00771 
00774 #define AXIS2_CONF_GET_TRANSPORT_IN(conf, env, qname) \
00775         ((conf)->ops->get_transport_in(conf , env, qname))
00776 
00779 #define AXIS2_CONF_ADD_TRANSPORT_IN(conf, env, transport) \
00780         ((conf)->ops->add_transport_in(conf , env, transport))
00781 
00784 #define AXIS2_CONF_GET_TRANSPORT_OUT(conf, env, qname) \
00785         ((conf)->ops->get_transport_out(conf , env, qname))
00786 
00789 #define AXIS2_CONF_ADD_TRANSPORT_OUT(conf, env, transport) \
00790         ((conf)->ops->add_transport_out(conf , env, transport))
00791 
00794 #define AXIS2_CONF_GET_ALL_IN_TRANSPORTS(conf, env) \
00795         ((conf)->ops->get_all_in_transports(conf , env))
00796 
00799 #define AXIS2_CONF_GET_ALL_OUT_TRANSPORTS(conf, env) \
00800         ((conf)->ops->get_all_out_transports(conf , env))
00801 
00804 #define AXIS2_CONF_GET_MODULE(conf, env, qname) \
00805         ((conf)->ops->get_module(conf , env, qname))
00806 
00809 #define AXIS2_CONF_GET_ALL_ENGAGED_MODULES(conf, env) \
00810         ((conf)->ops->get_all_engaged_modules(conf , env))
00811 
00814 #define AXIS2_CONF_GET_IN_PHASES_UPTO_AND_INCLUDING_POST_DISPATCH(conf, env) \
00815         ((conf)->ops->get_in_phases_upto_and_including_post_dispatch(conf , env))
00816 
00819 #define AXIS2_CONF_GET_OUT_FLOW(conf, env) \
00820         ((conf)->ops->get_out_flow(conf , env))
00821 
00824 #define AXIS2_CONF_GET_IN_FAULT_FLOW(conf, env) \
00825         ((conf)->ops->get_in_fault_flow(conf , env))
00826 
00829 #define AXIS2_CONF_GET_OUT_FAULT_FLOW(conf, env) \
00830         ((conf)->ops->get_out_fault_flow(conf , env))
00831 
00834 #define AXIS2_CONF_GET_ALL_FAULTY_SVCS(conf, env) \
00835         ((conf)->ops->get_all_faulty_svcs(conf , env))
00836 
00839 #define AXIS2_CONF_GET_ALL_FAULTY_MODULES(conf, env) \
00840         ((conf)->ops->get_all_faulty_modules(conf , env))
00841 
00844 #define AXIS2_CONF_GET_ALL_SVCS(conf, env) \
00845         ((conf)->ops->get_all_svcs(conf , env))
00846 
00849 #define AXIS2_CONF_IS_ENGAGED(conf, env, module_name) \
00850         ((conf)->ops->is_engaged(conf , env, module_name))
00851 
00854 #define AXIS2_CONF_GET_PHASES_INFO(conf, env) \
00855         ((conf)->ops->get_phases_info(conf , env))
00856 
00859 #define AXIS2_CONF_SET_PHASES_INFO(conf, env, phases_info) \
00860         ((conf)->ops->set_phases_info(conf , env, phases_info))
00861 
00864 #define AXIS2_CONF_ADD_MSG_RECV(conf, env, key, msg_recv) \
00865         ((conf)->ops->add_msg_recv(conf , env, key, msg_recv))
00866 
00869 #define AXIS2_CONF_GET_MSG_RECV(conf, env, key) \
00870         ((conf)->ops->get_msg_recv(conf , env, key))
00871 
00874 #define AXIS2_CONF_SET_OUT_PHASES(conf, env, out_phases) \
00875         ((conf)->ops->set_out_phases(conf , env, out_phases))
00876 
00879 #define AXIS2_CONF_GET_OUT_PHASES(conf, env) \
00880         ((conf)->ops->get_out_phases(conf , env))
00881 
00884 #define AXIS2_CONF_SET_IN_FAULT_PHASES(conf, env, list) \
00885         ((conf)->ops->set_in_fault_phases(conf , env, list))
00886 
00889 #define AXIS2_CONF_SET_OUT_FAULT_PHASES(conf, env, list) \
00890         ((conf)->ops->set_out_fault_phases(conf , env, list))
00891 
00894 #define AXIS2_CONF_GET_ALL_MODULES(conf, env) \
00895         ((conf)->ops->get_all_modules(conf , env))
00896 
00899 #define AXIS2_CONF_ADD_MODULE(conf, env, module) \
00900         ((conf)->ops->add_module(conf , env, module))
00901 
00904 #define AXIS2_CONF_SET_DEFAULT_DISPATCHERS(conf, env) \
00905         ((conf)->ops->set_default_dispatchers(conf , env))
00906 
00909 #define AXIS2_CONF_SET_DISPATCH_PHASE(conf, env, dispatch) \
00910         ((conf)->ops->set_dispatch_phase(conf , env, dispatch))
00911 
00914 #define AXIS2_CONF_GET_REPO(conf, env) \
00915         ((conf)->ops->get_repo(conf , env))
00916 
00919 #define AXIS2_CONF_SET_REPO(conf, env, axis2_repos) \
00920         ((conf)->ops->set_repo(conf , env, axis2_repos))
00921 
00924 #define AXIS2_CONF_ENGAGE_MODULE(conf, env, module_ref) \
00925         ((conf)->ops->engage_module(conf , env, module_ref))
00926 
00929 #define AXIS2_CONF_SET_DEP_ENGINE(conf, env, dep_engine) \
00930         ((conf)->ops->set_dep_engine(conf, env, dep_engine))
00931 
00934 #define AXIS2_CONF_GET_DEFAULT_MODULE_VERSION(conf, env, module_name)\
00935         ((conf)->ops->get_default_module_version(conf, env, module_name))
00936 
00939 #define AXIS2_CONF_GET_DEFAULT_MODULE(conf, env, module_name)\
00940         ((conf)->ops->get_default_module(conf, env, module_name))
00941 
00944 #define AXIS2_CONF_ADD_DEFAULT_MODULE_VERSION(conf, env, mod_name, mod_ver)\
00945         ((conf)->ops->add_default_module_version(conf, env, mod_name, mod_ver))
00946 
00949 #define AXIS2_CONF_ENGAGE_MODULE_WITH_VERSION(conf, env, mod_name, mod_ver)\
00950         ((conf)->ops->engage_module_with_version(conf, env, mod_name, mod_ver))
00951 
00953 #ifdef __cplusplus
00954 }
00955 #endif
00956 #endif /* AXIS2_CONFIG_H */

Generated on Tue Oct 3 20:47:58 2006 for Axis2/C by  doxygen 1.4.7