axis2_svc.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_SVC_H
00020 #define AXIS2_SVC_H
00021 
00047 #include <axutil_param_container.h>
00048 #include <axis2_flow_container.h>
00049 #include <axis2_op.h>
00050 #include <axis2_svc_grp.h>
00051 #include <axutil_qname.h>
00052 #include <axutil_error.h>
00053 #include <axutil_array_list.h>
00054 #include <axis2_const.h>
00055 #include <axis2_phase_resolver.h>
00056 #include <axis2_module_desc.h>
00057 #include <axis2_conf.h>
00058 #include <axutil_string.h>
00059 #include <axutil_stream.h>
00060 
00061 #ifdef __cplusplus
00062 extern "C"
00063 {
00064 #endif
00065 
00067     typedef struct axis2_svc axis2_svc_t;
00068 
00069     struct axis2_svc_grp;
00070     struct axis2_flow_container;
00071     struct axutil_param_container;
00072     struct axis2_module_desc;
00073     struct axis2_conf;
00074 
00081     AXIS2_EXTERN void AXIS2_CALL
00082     axis2_svc_free(
00083         axis2_svc_t * svc,
00084         const axutil_env_t * env);
00085 
00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00095     axis2_svc_add_op(
00096         axis2_svc_t * svc,
00097         const axutil_env_t * env,
00098         struct axis2_op *op);
00099 
00107     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
00108     axis2_svc_get_op_with_qname(
00109         const axis2_svc_t * svc,
00110         const axutil_env_t * env,
00111         const axutil_qname_t * op_qname);
00112 
00123     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00124     axis2_svc_get_rest_op_list_with_method_and_location(
00125         const axis2_svc_t * svc,
00126         const axutil_env_t * env,
00127         const axis2_char_t * http_method,
00128         const axis2_char_t * http_location);
00129 
00130 
00138     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00139     axis2_svc_get_rest_map(
00140         const axis2_svc_t * svc,
00141         const axutil_env_t * env);
00142 
00150     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
00151                 axis2_svc_get_op_with_name(
00152                     const axis2_svc_t * svc,
00153                     const axutil_env_t * env,
00154                     const axis2_char_t * op_name);
00155 
00162     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00163     axis2_svc_get_all_ops(
00164         const axis2_svc_t * svc,
00165         const axutil_env_t * env);
00166 
00174     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00175     axis2_svc_set_parent(
00176         axis2_svc_t * svc,
00177         const axutil_env_t * env,
00178         struct axis2_svc_grp *svc_grp);
00179 
00186     AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL
00187                 axis2_svc_get_parent(
00188                     const axis2_svc_t * svc,
00189                     const axutil_env_t * env);
00190 
00198     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00199     axis2_svc_set_qname(
00200         axis2_svc_t * svc,
00201         const axutil_env_t * env,
00202         const axutil_qname_t * qname);
00203 
00210     AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00211     axis2_svc_get_qname(
00212         const axis2_svc_t * svc,
00213         const axutil_env_t * env);
00214 
00223     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00224     axis2_svc_add_param(
00225         axis2_svc_t * svc,
00226         const axutil_env_t * env,
00227         axutil_param_t * param);
00228 
00237     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00238     axis2_svc_get_param(
00239         const axis2_svc_t * svc,
00240         const axutil_env_t * env,
00241         const axis2_char_t * name);
00242 
00250     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00251     axis2_svc_get_all_params(
00252         const axis2_svc_t * svc,
00253         const axutil_env_t * env);
00254 
00262     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00263     axis2_svc_is_param_locked(
00264         axis2_svc_t * svc,
00265         const axutil_env_t * env,
00266         const axis2_char_t * param_name);
00267 
00278     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00279     axis2_svc_engage_module(
00280         axis2_svc_t * svc,
00281         const axutil_env_t * env,
00282         struct axis2_module_desc *module_desc,
00283         struct axis2_conf *conf);
00284 
00295     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00296     axis2_svc_disengage_module(
00297         axis2_svc_t * svc,
00298         const axutil_env_t * env,
00299         struct axis2_module_desc *module_desc,
00300         struct axis2_conf *conf);
00301 
00309     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00310     axis2_svc_is_module_engaged(
00311         axis2_svc_t * svc,
00312         const axutil_env_t * env,
00313         axutil_qname_t * module_qname);
00314 
00321     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00322     axis2_svc_get_engaged_module_list(
00323         const axis2_svc_t * svc,
00324         const axutil_env_t * env);
00325 
00341     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00342     axis2_svc_add_module_ops(
00343         axis2_svc_t * svc,
00344         const axutil_env_t * env,
00345         struct axis2_module_desc *module_desc,
00346         struct axis2_conf *axis2_config);
00347 
00356     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00357 
00358        axis2_svc_add_to_engaged_module_list(axis2_svc_t *svc,
00359        const axutil_env_t *env,
00360        struct axis2_module_desc *module_desc); */
00361 
00368     /*AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00369 
00370        axis2_svc_get_all_engaged_modules(const axis2_svc_t *svc,
00371        const axutil_env_t *env); */
00372 
00380     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00381     axis2_svc_set_style(
00382         axis2_svc_t * svc,
00383         const axutil_env_t * env,
00384         const axis2_char_t * style);
00385 
00392     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00393     axis2_svc_get_style(
00394         const axis2_svc_t * svc,
00395         const axutil_env_t * env);
00396 
00404     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00405 
00406        axis2_svc_get_in_flow(const axis2_svc_t *svc,
00407        const axutil_env_t *env); */
00408 
00417     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00418 
00419        axis2_svc_set_in_flow(axis2_svc_t *svc,
00420        const axutil_env_t *env,
00421        struct axis2_flow *in_flow); */
00422 
00430     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00431 
00432        axis2_svc_get_out_flow(
00433        const axis2_svc_t *svc,
00434        const axutil_env_t *env); */
00435 
00444     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00445 
00446        axis2_svc_set_out_flow(
00447        axis2_svc_t *svc,
00448        const axutil_env_t *env,
00449        struct axis2_flow *out_flow); */
00450 
00458     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00459 
00460        axis2_svc_get_fault_in_flow(
00461        const axis2_svc_t *svc,
00462        const axutil_env_t *env); */
00463 
00472     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00473 
00474        axis2_svc_set_fault_in_flow(
00475        axis2_svc_t *svc,
00476        const axutil_env_t *env,
00477        struct axis2_flow *fault_flow); */
00478 
00486     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00487 
00488        axis2_svc_get_fault_out_flow(
00489        const axis2_svc_t *svc,
00490        const axutil_env_t *env); */
00491 
00500     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00501 
00502        axis2_svc_set_fault_out_flow(
00503        axis2_svc_t *svc,
00504        const axutil_env_t *env,
00505        struct axis2_flow *fault_flow); */
00506 
00515     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
00516                 axis2_svc_get_op_by_soap_action(
00517                     const axis2_svc_t * svc,
00518                     const axutil_env_t * env,
00519                     const axis2_char_t * soap_action);
00520 
00530     /*AXIS2_EXTERN struct axis2_op *AXIS2_CALL
00531 
00532        axis2_svc_get_op_by_soap_action_and_endpoint(
00533        const axis2_svc_t *svc,
00534        const axutil_env_t *env,
00535        const axis2_char_t *soap_action,
00536        const axutil_qname_t *endpoint); */
00537 
00544     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00545     axis2_svc_get_name(
00546         const axis2_svc_t * svc,
00547         const axutil_env_t * env);
00548 
00556     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00557     axis2_svc_set_name(
00558         axis2_svc_t * svc,
00559         const axutil_env_t * env,
00560         const axis2_char_t * svc_name);
00561 
00568     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00569     axis2_svc_set_last_update(
00570         axis2_svc_t * svc,
00571         const axutil_env_t * env);
00572 
00579     AXIS2_EXTERN long AXIS2_CALL
00580     axis2_svc_get_last_update(
00581         const axis2_svc_t * svc,
00582         const axutil_env_t * env);
00583 
00591     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00592     axis2_svc_get_svc_desc(
00593         const axis2_svc_t * svc,
00594         const axutil_env_t * env);
00595 
00602     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00603     axis2_svc_set_svc_desc(
00604         axis2_svc_t * svc,
00605         const axutil_env_t * env,
00606         const axis2_char_t * svc_desc);
00607 
00615     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00616     axis2_svc_get_svc_wsdl_path(
00617         const axis2_svc_t * svc,
00618         const axutil_env_t * env);
00619 
00626     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00627     axis2_svc_set_svc_wsdl_path(
00628         axis2_svc_t * svc,
00629         const axutil_env_t * env,
00630         const axis2_char_t * wsdl_path);
00631 
00639     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00640     axis2_svc_get_svc_folder_path(
00641         const axis2_svc_t * svc,
00642         const axutil_env_t * env);
00643 
00650     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00651     axis2_svc_set_svc_folder_path(
00652         axis2_svc_t * svc,
00653         const axutil_env_t * env,
00654         const axis2_char_t * folder_path);
00655 
00665     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00666     axis2_svc_get_file_name(
00667         const axis2_svc_t * svc,
00668         const axutil_env_t * env);
00669 
00680     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00681     axis2_svc_set_file_name(
00682         axis2_svc_t * svc,
00683         const axutil_env_t * env,
00684         const axis2_char_t * file_name);
00685 
00692     /*AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00693 
00694        axis2_svc_get_all_endpoints(
00695        const axis2_svc_t *svc,
00696        const axutil_env_t *env); */
00697 
00705     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00706 
00707        axis2_svc_set_all_endpoints(
00708        axis2_svc_t *svc,
00709        const axutil_env_t *env,
00710        axutil_hash_t *endpoints); */
00711 
00718     /*AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00719 
00720        axis2_svc_get_namespace(
00721        const axis2_svc_t *svc,
00722        const axutil_env_t *env);
00723      */
00724 
00738     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00739     axis2_svc_add_mapping(
00740         axis2_svc_t * svc,
00741         const axutil_env_t * env,
00742         const axis2_char_t * wsa_action,
00743         struct axis2_op *axis2_op);
00744 
00758     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00759     axis2_svc_add_rest_mapping(
00760         axis2_svc_t * svc,
00761         const axutil_env_t * env,
00762         const axis2_char_t * method,
00763         const axis2_char_t * location,
00764         struct axis2_op *axis2_op);
00765 
00774     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00775     axis2_svc_add_module_qname(
00776         axis2_svc_t * svc,
00777         const axutil_env_t * env,
00778         const axutil_qname_t * module_qname);
00779 
00786     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00787 
00788     axis2_svc_get_all_module_qnames(
00789         const axis2_svc_t * svc,
00790         const axutil_env_t * env);
00791 
00798     /*AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00799 
00800        axis2_svc_is_schema_location_adjusted(
00801        axis2_svc_t *svc,
00802        const axutil_env_t *env);
00803      */
00804 
00812     /*
00813     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00814 
00815        axis2_svc_set_schema_location_adjusted(
00816        axis2_svc_t *svc,
00817        const axutil_env_t *env,
00818        const axis2_bool_t adjusted); */
00819 
00827     /*
00828     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00829 
00830        axis2_svc_axis2_svc_get_schema_mapping_table(
00831        const axis2_svc_t *svc,
00832        const axutil_env_t *env); */
00833 
00842     /*
00843        AXIS2_EXTERN axis2_status_t AXIS2_CALL
00844 
00845            axis2_svc_set_schema_mapping_table(
00846            axis2_svc_t *svc,
00847            const axutil_env_t *env,
00848            axutil_hash_t *table); */
00849 
00856     /*
00857        AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00858 
00859            axis2_svc_get_custom_schema_prefix(
00860            const axis2_svc_t *svc,
00861            const axutil_env_t *env); */
00862 
00870     /*
00871        AXIS2_EXTERN axis2_status_t AXIS2_CALL
00872 
00873            axis2_svc_set_custom_schema_prefix(
00874            axis2_svc_t *svc,
00875            const axutil_env_t *env,
00876            const axis2_char_t *prefix); */
00877 
00884     /*
00885     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00886 
00887        axis2_svc_get_custom_schema_suffix(
00888        const axis2_svc_t *svc,
00889        const axutil_env_t *env); */
00890 
00898     /*
00899     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00900 
00901        axis2_svc_set_custom_schema_suffix(
00902        axis2_svc_t *svc,
00903        const axutil_env_t *env,
00904        const axis2_char_t *suffix); */
00905 
00913     /*
00914        AXIS2_EXTERN axis2_status_t AXIS2_CALL
00915 
00916            axis2_svc_print_schema(
00917            axis2_svc_t *svc,
00918            const axutil_env_t *env,
00919            axutil_stream_t *out_stream); */
00920 
00928     /*AXIS2_EXTERN xml_schema_t *AXIS2_CALL
00929 
00930        axis2_svc_get_schema(
00931        const axis2_svc_t *svc,
00932        const axutil_env_t *env,
00933        const int index); */
00934 
00945     /*    AXIS2_EXTERN xml_schema_t *AXIS2_CALL
00946 
00947                 axis2_svc_add_all_namespaces(
00948                     axis2_svc_t *svc,
00949                     const axutil_env_t *env,
00950                     int index);*/
00951 
00959     /*
00960     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00961 
00962        axis2_svc_get_all_schemas(
00963        const axis2_svc_t *svc,
00964        const axutil_env_t *env); */
00965 
00975     /*
00976     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00977 
00978        axis2_svc_add_schema(
00979        axis2_svc_t *svc,
00980        const axutil_env_t *env,
00981        xml_schema_t *schema); */
00982 
00990     /*
00991        AXIS2_EXTERN axis2_status_t AXIS2_CALL
00992 
00993            axis2_svc_add_all_schemas(
00994            axis2_svc_t *svc,
00995            const axutil_env_t *env,
00996            axutil_array_list_t *schemas); */
00997 
01004     /*
01005        AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
01006 
01007            axis2_svc_get_schema_target_ns(
01008            const axis2_svc_t *svc,
01009            const axutil_env_t *env); */
01010 
01018     /*
01019        AXIS2_EXTERN axis2_status_t AXIS2_CALL
01020 
01021            axis2_svc_set_schema_target_ns(
01022            axis2_svc_t *svc,
01023            const axutil_env_t *env,
01024            const axis2_char_t *ns); */
01025 
01032     /*
01033        AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
01034 
01035            axis2_svc_get_schema_target_ns_prefix(
01036            const axis2_svc_t *svc,
01037            const axutil_env_t *env); */
01038 
01046     /*
01047        AXIS2_EXTERN axis2_status_t AXIS2_CALL
01048 
01049            axis2_svc_set_schema_target_ns_prefix(
01050            axis2_svc_t *svc,
01051            const axutil_env_t *env,
01052            const axis2_char_t *prefix); */
01053 
01060     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
01061     axis2_svc_get_target_ns(
01062         const axis2_svc_t * svc,
01063         const axutil_env_t * env);
01064 
01072     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01073     saxis2_svc_et_target_ns(
01074         axis2_svc_t * svc,
01075         const axutil_env_t * env,
01076         const axis2_char_t * ns);
01077 
01084     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
01085 
01086     axis2_svc_get_target_ns_prefix(
01087         const axis2_svc_t * svc,
01088         const axutil_env_t * env);
01089 
01097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01098     axis2_svc_set_target_ns_prefix(
01099         axis2_svc_t * svc,
01100         const axutil_env_t * env,
01101         const axis2_char_t * prefix);
01102 
01111     /*AXIS2_EXTERN xml_schema_element_t *AXIS2_CALL
01112 
01113        axis2_svc_get_schema_element(
01114        const axis2_svc_t *svc,
01115        const axutil_env_t *env,
01116        const axutil_qname_t *qname); */
01117 
01125     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
01126     gaxis2_svc_et_ns_map(
01127         const axis2_svc_t * svc,
01128         const axutil_env_t * env);
01129 
01137     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01138     axis2_svc_set_ns_map(
01139         axis2_svc_t * svc,
01140         const axutil_env_t * env,
01141         axutil_hash_t * ns_map);
01142 
01151     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
01152 
01153        axis2_svc_populate_schema_mappings(
01154        axis2_svc_t *svc,
01155        const axutil_env_t *env); */
01156 
01157     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
01158 
01159     axis2_svc_get_param_container(
01160         const axis2_svc_t * svc,
01161         const axutil_env_t * env);
01162 
01163     AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL
01164 
01165     axis2_svc_get_flow_container(
01166         const axis2_svc_t * svc,
01167         const axutil_env_t * env);
01168 
01174     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
01175     axis2_svc_create(
01176         const axutil_env_t * env);
01177 
01184     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
01185     axis2_svc_create_with_qname(
01186         const axutil_env_t * env,
01187         const axutil_qname_t * qname);
01188 
01189     AXIS2_EXTERN void *AXIS2_CALL
01190     axis2_svc_get_impl_class(
01191         const axis2_svc_t * svc,
01192         const axutil_env_t * env);
01193 
01194     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01195     axis2_svc_set_impl_class(
01196         axis2_svc_t * svc,
01197         const axutil_env_t * env,
01198         void *impl_class);
01199 
01206     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
01207     axis2_svc_get_base(
01208         const axis2_svc_t * svc,
01209         const axutil_env_t * env);
01210 
01211         /* Get the mutex associated with this service 
01212          * @param svc pointer to message
01213      * @param env pointer to environment struct
01214      * @return pointer to a axutil_thread_mutext_t
01215      */
01216         AXIS2_EXTERN axutil_thread_mutex_t * AXIS2_CALL
01217         axis2_svc_get_mutex(
01218                 const axis2_svc_t * svc,
01219                 const axutil_env_t * env);
01221 #ifdef __cplusplus
01222 }
01223 #endif
01224 #endif                          /* AXIS2_SVC_H */

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