From 0425aadc78680e53000fd0108b540d6eca048516 Mon Sep 17 00:00:00 2001 From: gmcdonald Date: Sat, 13 Feb 2010 01:32:03 +0000 Subject: Moving axis svn, part of TLP move INFRA-2441 git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@909681 13f79535-47bb-0310-9956-ffa450edef68 --- include/axis2_handler_desc.h | 274 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 274 insertions(+) create mode 100644 include/axis2_handler_desc.h (limited to 'include/axis2_handler_desc.h') diff --git a/include/axis2_handler_desc.h b/include/axis2_handler_desc.h new file mode 100644 index 0000000..b807508 --- /dev/null +++ b/include/axis2_handler_desc.h @@ -0,0 +1,274 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AXIS2_HANDLER_DESC_H +#define AXIS2_HANDLER_DESC_H + +/** + * @defgroup axis2_handler_desc handler description + * @ingroup axis2_desc + * handler description captures information on a handler. Each handler in the + * system has an associated handler description. Deployment engine would create + * handler descriptions based on configuration information. When handlers are + * loaded from shared libraries, the information captured in handler description + * would be used. + * @{ + */ + +/** + * @file axis2_handler_desc.h + */ + +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + + /** Type name for struct axis2_handler_desc */ + typedef struct axis2_handler_desc axis2_handler_desc_t; + + /** + * Gets QName. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @return pointer to QName, returns a reference, not a cloned copy + */ + AXIS2_EXTERN const axutil_string_t *AXIS2_CALL + axis2_handler_desc_get_name( + const axis2_handler_desc_t * handler_desc, + const axutil_env_t * env); + + /** + * Sets QName. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @param name pointer to string representing handler name + * of QName + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_handler_desc_set_name( + axis2_handler_desc_t * handler_desc, + const axutil_env_t * env, + axutil_string_t * name); + + /** + * Gets phase rules. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @return pointer to phase rule struct containing phase rules + */ + AXIS2_EXTERN axis2_phase_rule_t *AXIS2_CALL + axis2_handler_desc_get_rules( + const axis2_handler_desc_t * handler_desc, + const axutil_env_t * env); + + /** + * Sets phase rules. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @param phase_rule pointer to phase rule struct, handler description + * assumes ownership of the struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_handler_desc_set_rules( + axis2_handler_desc_t * handler_desc, + const axutil_env_t * env, + axis2_phase_rule_t * phase_rule); + + /** + * Gets named parameter. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @param name parameter name string + * @return pointer to parameter if found, else NULL. Return a reference + * not a cloned copy + */ + AXIS2_EXTERN axutil_param_t *AXIS2_CALL + axis2_handler_desc_get_param( + const axis2_handler_desc_t * handler_desc, + const axutil_env_t * env, + const axis2_char_t * name); + + /** + * Adds given parameter to the parameter list. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @param param pointer to param + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_handler_desc_add_param( + axis2_handler_desc_t * handler_desc, + const axutil_env_t * env, + axutil_param_t * param); + + /** + * Gets all parameters stored within handler description. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @return pointer to array list containing parameters, returns a + * reference, not a cloned copy + */ + AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL + axis2_handler_desc_get_all_params( + const axis2_handler_desc_t * handler_desc, + const axutil_env_t * env); + + /** + * Checks if the named parameter is locked at any level + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @param param_name parameter name string + * @return AXIS2_TRUE if the parameter is locked, else AXIS2_FALSE + */ + AXIS2_EXTERN axis2_bool_t AXIS2_CALL + axis2_handler_desc_is_param_locked( + const axis2_handler_desc_t * handler_desc, + const axutil_env_t * env, + const axis2_char_t * param_name); + + /** + * Gets the handler associated with the handler description. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @return pointer to handler, returns a reference, not a cloned copy + */ + AXIS2_EXTERN axis2_handler_t *AXIS2_CALL + axis2_handler_desc_get_handler( + const axis2_handler_desc_t * handler_desc, + const axutil_env_t * env); + + /** + * Sets the handler associated with the handler description. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @param handler pointer to handler, handler description assumes + * the ownership of the handler + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_handler_desc_set_handler( + axis2_handler_desc_t * handler_desc, + const axutil_env_t * env, + axis2_handler_t * handler); + + /** + * Gets the class name. Class name is the name of the shared library + * file that contains the implementation of the handler. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @return class name string + */ + AXIS2_EXTERN const axis2_char_t *AXIS2_CALL + axis2_handler_desc_get_class_name( + const axis2_handler_desc_t * handler_desc, + const axutil_env_t * env); + + /** + * Sets the class name. Class name is the name of the shared library + * file that contains the implementation of the handler. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @param class_name class name string + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_handler_desc_set_class_name( + axis2_handler_desc_t * handler_desc, + const axutil_env_t * env, + const axis2_char_t * class_name); + + /** + * Gets the parent. Parent of handler description is of type parameter + * container. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @return pointer to parent parameter container, returns a reference, + * not a cloned copy + */ + AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL + axis2_handler_desc_get_parent( + const axis2_handler_desc_t * handler_desc, + const axutil_env_t * env); + + /** + * Gets the parent. Parent of handler description is of type parameter + * container. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @param parent pointer to parent parameter container struct, handler + * description assumes ownership of struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_handler_desc_set_parent( + axis2_handler_desc_t * handler_desc, + const axutil_env_t * env, + axutil_param_container_t * parent); + + /** + * Frees handler description. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN void AXIS2_CALL + axis2_handler_desc_free( + axis2_handler_desc_t * handler_desc, + const axutil_env_t * env); + + /** + * Gets the param container. + * @param handler_desc pointer to handler description + * @param env pointer to environment struct + * @return pointer to parameter container, returns a reference, + * not a cloned copy + */ + AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL + axis2_handler_desc_get_param_container( + const axis2_handler_desc_t * handler_desc, + const axutil_env_t * env); + + /** + * Creates handler description struct instance. + * @param env pointer to env pointer to environment struct + * @param name pointer to string representing handler name, can be NULL, create function + * clones this + * @return pointer to newly created handler description struct + */ + AXIS2_EXTERN axis2_handler_desc_t *AXIS2_CALL + axis2_handler_desc_create( + const axutil_env_t * env, + axutil_string_t * name); + + /** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* AXIS2_HANDLER_DESC_H */ -- cgit v1.1-32-gdbae