00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_CONF_CTX_H
00020 #define AXIS2_CONF_CTX_H
00021
00037 #include <axis2_defines.h>
00038 #include <axutil_hash.h>
00039 #include <axutil_env.h>
00040 #include <axis2_ctx.h>
00041 #include <axis2_svc_grp_ctx.h>
00042
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047
00049 typedef struct axis2_conf_ctx axis2_conf_ctx_t;
00050
00051 struct axis2_conf;
00052
00060 AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL
00061 axis2_conf_ctx_create(
00062 const axutil_env_t * env,
00063 struct axis2_conf *conf);
00064
00072 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00073 axis2_conf_ctx_set_conf(
00074 axis2_conf_ctx_t * conf_ctx,
00075 const axutil_env_t * env,
00076 struct axis2_conf *conf);
00077
00085 AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL
00086 axis2_conf_ctx_get_base(
00087 const axis2_conf_ctx_t * conf_ctx,
00088 const axutil_env_t * env);
00089
00097 AXIS2_EXTERN axis2_conf_t *AXIS2_CALL
00098 axis2_conf_ctx_get_conf(
00099 const axis2_conf_ctx_t * conf_ctx,
00100 const axutil_env_t * env);
00101
00108 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00109 axis2_conf_ctx_get_op_ctx_map(
00110 const axis2_conf_ctx_t * conf_ctx,
00111 const axutil_env_t * env);
00112
00119 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00120 axis2_conf_ctx_get_svc_ctx_map(
00121 const axis2_conf_ctx_t * conf_ctx,
00122 const axutil_env_t * env);
00123
00130 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00131 axis2_conf_ctx_get_svc_grp_ctx_map(
00132 const axis2_conf_ctx_t * conf_ctx,
00133 const axutil_env_t * env);
00134
00144 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00145 axis2_conf_ctx_register_op_ctx(
00146 axis2_conf_ctx_t * conf_ctx,
00147 const axutil_env_t * env,
00148 const axis2_char_t * message_id,
00149 axis2_op_ctx_t * op_ctx);
00150
00158 AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL
00159 axis2_conf_ctx_get_op_ctx(
00160 const axis2_conf_ctx_t * conf_ctx,
00161 const axutil_env_t * env,
00162 const axis2_char_t * message_id);
00163
00172 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00173 axis2_conf_ctx_register_svc_ctx(
00174 axis2_conf_ctx_t * conf_ctx,
00175 const axutil_env_t * env,
00176 const axis2_char_t * svc_id,
00177 axis2_svc_ctx_t * svc_ctx);
00178
00186 AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL
00187 axis2_conf_ctx_get_svc_ctx(
00188 const axis2_conf_ctx_t * conf_ctx,
00189 const axutil_env_t * env,
00190 const axis2_char_t * svc_id);
00191
00200 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00201 axis2_conf_ctx_register_svc_grp_ctx(
00202 axis2_conf_ctx_t * conf_ctx,
00203 const axutil_env_t * env,
00204 const axis2_char_t * svc_grp_id,
00205 axis2_svc_grp_ctx_t * svc_grp_ctx);
00206
00214 AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL
00215 axis2_conf_ctx_get_svc_grp_ctx(
00216 const axis2_conf_ctx_t * conf_ctx,
00217 const axutil_env_t * env,
00218 const axis2_char_t * svc_grp_id);
00219
00228 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00229 axis2_conf_ctx_get_root_dir(
00230 const axis2_conf_ctx_t * conf_ctx,
00231 const axutil_env_t * env);
00232
00242 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00243 axis2_conf_ctx_set_root_dir(
00244 axis2_conf_ctx_t * conf_ctx,
00245 const axutil_env_t * env,
00246 const axis2_char_t * path);
00247
00257 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00258 axis2_conf_ctx_init(
00259 axis2_conf_ctx_t * conf_ctx,
00260 const axutil_env_t * env,
00261 axis2_conf_t * conf);
00262
00269 AXIS2_EXTERN void AXIS2_CALL
00270 axis2_conf_ctx_free(
00271 axis2_conf_ctx_t * conf_ctx,
00272 const axutil_env_t * env);
00273
00286 AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL
00287 axis2_conf_ctx_fill_ctxs(
00288 axis2_conf_ctx_t * conf_ctx,
00289 const axutil_env_t * env,
00290 axis2_msg_ctx_t * msg_ctx);
00291
00301 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00302 axis2_conf_ctx_set_property(
00303 axis2_conf_ctx_t *conf_ctx,
00304 const axutil_env_t * env,
00305 const axis2_char_t * key,
00306 axutil_property_t * value);
00307
00315 AXIS2_EXTERN axutil_property_t *AXIS2_CALL
00316 axis2_conf_ctx_get_property(
00317 const axis2_conf_ctx_t * conf_ctx,
00318 const axutil_env_t * env,
00319 const axis2_char_t * key);
00320
00323 #ifdef __cplusplus
00324 }
00325 #endif
00326
00327 #endif