00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_ERROR_H
00018 #define AXIS2_ERROR_H
00019
00020 #include <axis2_defines.h>
00021 #include <axis2_allocator.h>
00022
00023 #ifdef __cplusplus
00024 extern "C"
00025 {
00026 #endif
00027
00028 struct axis2_error;
00029 struct axis2_error_ops;
00030 typedef enum axis2_status_codes axis2_status_codes_t;
00031 typedef enum axis2_error_codes axis2_error_codes_t;
00032
00044 AXIS2_DECLARE_DATA typedef struct axis2_error_ops
00045 {
00046
00052 axis2_status_t (AXIS2_CALL *free)(struct axis2_error *error);
00053
00058 axis2_char_t * (AXIS2_CALL *get_message) (struct axis2_error *error
00059 , axis2_error_codes_t error_number);
00060
00061 axis2_status_t (AXIS2_CALL *set_error_number) (struct axis2_error *error
00062 , axis2_error_codes_t error_number);
00063
00064 axis2_status_t (AXIS2_CALL *set_status_code) (struct axis2_error *error
00065 , axis2_status_codes_t status_code);
00066
00067 axis2_status_t (AXIS2_CALL *get_status_code) (struct axis2_error *error);
00068
00069 } axis2_error_ops_t;
00070
00076 typedef struct axis2_error
00077 {
00079 struct axis2_error_ops *ops;
00081 int error_number;
00082
00083 int status_code;
00084 } axis2_error_t;
00085
00086
00087 #define AXIS2_ERROR_FREE(error) ((error->ops)->free(error))
00088
00089 #define AXIS2_ERROR_GET_MESSAGE(error, status_code) ((error)->ops->get_message \
00090 (error, status_code))
00091
00092 #define AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number) \
00093 ((error)->ops->set_error_number(error, error_number))
00094
00095 #define AXIS2_ERROR_SET_STATUS_CODE(error, status_code) \
00096 ((error)->ops->set_status_code(error, status_code))
00097
00098 #define AXIS2_ERROR_GET_STATUS_CODE(error) ((error)->ops->get_status_code(error))
00099
00105 enum axis2_status_codes
00106 {
00108 AXIS2_CRTICAL_FAILURE = -1,
00110 AXIS2_FAILURE,
00112 AXIS2_SUCCESS
00113 };
00114
00120 enum axis2_error_codes
00121 {
00123 AXIS2_ERROR_NONE = 0,
00125 AXIS2_ERROR_NO_MEMORY,
00127 AXIS2_ERROR_INVALID_NULL_PARAM,
00129 AXIS2_ERROR_INVALID_ITERATOR_STATE,
00131 AXIS2_ERROR_INVALID_NODE_TYPE,
00133 AXIS2_ERROR_XML_READER_ELEMENT_NULL,
00135 AXIS2_ERROR_XML_READER_VALUE_NULL,
00137 AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL,
00139 AXIS2_ERROR_INVALID_BUILDER_STATE_LAST_NODE_NULL,
00141 AXIS2_ERROR_INVALID_BUILDER_STATE_CANNOT_DISCARD,
00143 AXIS2_ERROR_INVALID_DOCUMENT_STATE_ROOT_NULL,
00145 AXIS2_ERROR_INVALID_DOCUMENT_STATE_UNDEFINED_NAMESPACE,
00147 AXIS2_ERROR_UNALLOCATED_MEMEORY_RELEASE_REQUESTED,
00149 AXIS2_ERROR_STRUCT_NOT_INITIALIZED,
00151 AXIS2_ERROR_COULD_NOT_OPEN_FILE,
00153 AXIS2_ERROR_ENVIRONMENT_IS_NULL,
00155 AXIS2_ERROR_INVALID_STATE_PARENT_NULL,
00157 AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE,
00159 AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER,
00161 AXIS2_ERROR_INVALID_STATE_PARAM,
00163 AXIS2_ERROR_INVALID_STATE_OPERATION,
00165 AXIS2_ERROR_INVALID_STATE_SVC,
00167 AXIS2_ERROR_INVALID_STATE_WSDL_SVC,
00169 AXIS2_ERROR_INVALID_STATE_SVC_GRP,
00171 AXIS2_ERROR_INVALID_STATE_WSDL_OPERATION,
00173 AXIS2_ERROR_INDEX_OUT_OF_BOUNDS,
00175 AXIS2_ERROR_BEFORE_AFTER_HANDLERS_SAME,
00177 AXIS2_ERROR_PHASE_FIRST_HANDLER_ALREADY_SET,
00179 AXIS2_ERROR_INVALID_PHASE_FIRST_HANDLER,
00181 AXIS2_ERROR_PHASE_LAST_HANDLER_ALREADY_SET,
00183 AXIS2_ERROR_INVALID_PHASE_LAST_HANDLER,
00185 AXIS2_ERROR_PHASE_ADD_HANDLER_INVALID,
00187 AXIS2_ERROR_INVALID_HANDLER_RULES,
00189 AXIS2_ERROR_INVALID_HANDLER_STATE,
00191 AXIS2_ERROR_NO_SUCH_ELEMENT,
00193 AXIS2_ERROR_COULD_NOT_MAP_MEP_URI_TO_MEP_CONSTANT,
00195 AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_OPERATION,
00197 AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC,
00199 AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC_GRP,
00201 AXIS2_ERROR_INVALID_STATE_MSG_CTX,
00203 AXIS2_ERROR_SERVICE_NOT_YET_FOUND,
00205 AXIS2_ERROR_CREATING_XML_STREAM_WRITER,
00207 AXIS2_ERROR_CREATING_XML_STREAM_READER,
00208
00209 INVALID_MODULE_REF,
00210
00211 PHASE_IS_NOT_SPECIFED,
00212
00213 SERVICE_MODULE_CAN_NOT_REFER_GLOBAL_PHASE,
00214
00215 INVALID_PHASE,
00216
00217 AXIS2_ERROR_WRITING_START_ELEMENT,
00218
00219 AXIS2_ERROR_WRITING_START_DOCUMENT,
00220
00221 AXIS2_ERROR_WRITING_END_ELEMENT,
00222
00223 AXIS2_ERROR_WRITING_END_DOCUMENT,
00224
00225 AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE,
00226
00227 AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE_PREFIX,
00228
00229 AXIS2_ERROR_WRITING_EMPTY_ELEMENT,
00230
00231 AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE,
00232
00233 AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE_PREFIX,
00234
00235 AXIS2_ERROR_WRITING_ATTRIBUTE,
00236
00237 AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE,
00238
00239 AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE_PREFIX,
00240
00241 AXIS2_ERROR_WRITING_COMMENT,
00242
00243 AXIS2_ERROR_WRITING_PROCESSING_INSTRUCTION,
00244
00245 AXIS2_ERROR_WTRING_CDATA,
00246
00247 AXIS2_ERROR_WRITING_DTD,
00248
00249 AXIS2_ERROR_WRITING_DEFAULT_NAMESPACE,
00253 AXIS2_ERROR_TWO_SVCS_CANNOT_HAVE_SAME_NAME
00254
00255
00256
00257 };
00258
00261 #ifdef __cplusplus
00262 }
00263 #endif
00264
00265
00266 #endif