axis2_error.h

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_ERROR_H
00018 #define AXIS2_ERROR_H
00019 
00020 #include <axis2_utils_defines.h>
00021 #include <axis2_allocator.h>
00022 
00023 #ifdef __cplusplus
00024 extern "C"
00025 {
00026 #endif
00027 
00032     enum axis2_status_codes
00033     {
00035         AXIS2_CRITICAL_FAILURE = -1,
00037         AXIS2_FAILURE,
00039         AXIS2_SUCCESS
00040     };
00046     enum axis2_error_codes
00047     {
00057         /* 
00058          * Group - Common Errors
00059          */
00060         AXIS2_ERROR_NONE = 0,
00062         AXIS2_ERROR_NO_MEMORY,
00064         AXIS2_ERROR_INVALID_NULL_PARAM,
00065 
00066         /*
00067          * Group - core:addr
00068          */
00069 
00070         /*
00071          * Group - core:clientapi
00072          */
00074         AXIS2_ERROR_BLOCKING_INVOCATION_EXPECTS_RESPONSE,
00076         AXIS2_ERROR_CANNOT_INFER_TRANSPORT,
00078         AXIS2_ERROR_CLIENT_SIDE_SUPPORT_ONLY_ONE_CONF_CTX,
00079         /* MEP cannot be NULL in MEP client */
00080         AXIS2_ERROR_MEP_CANNOT_BE_NULL_IN_MEP_CLIENT,
00081         /* MEP Mismatch */
00082         AXIS2_ERROR_MEP_MISMATCH_IN_MEP_CLIENT,
00084         AXIS2_ERROR_TWO_WAY_CHANNEL_NEEDS_ADDRESSING,
00086         AXIS2_ERROR_UNKNOWN_TRANSPORT,
00087         /* Unsupported SOAP style */
00088         AXIS2_ERROR_UNSUPPORTED_TYPE,
00089         /* Options object is not set */
00090         AXIS2_ERROR_OPTIONS_OBJECT_IS_NOT_SET,
00091         /*
00092          * Group - core:clientapi:diclient
00093          */
00094 
00095         /*
00096          * Group - core:context
00097          */
00099         AXIS2_ERROR_INVALID_SOAP_ENVELOPE_STATE,
00101         AXIS2_ERROR_INVALID_STATE_MSG_CTX,
00103         AXIS2_ERROR_INVALID_STATE_SVC,
00105         AXIS2_ERROR_INVALID_STATE_SVC_GRP,
00107         AXIS2_ERROR_SERVICE_NOT_YET_FOUND,
00108 
00109        /*
00110         * Group - core:deployment
00111         */ 
00112         /* Invalid phase found in phase validation*/
00113         AXI2_ERROR_INVALID_PHASE,
00114         /* axis2.xml cannot be not found*/
00115         AXIS2_ERROR_CONFIG_NOT_FOUND,
00116         /* Data element of the OM Node is null */
00117         AXIS2_ERROR_DATA_ELEMENT_IS_NULL,
00118         /* In transport sender, Inflow is not allowed */
00119         AXIS2_ERROR_IN_FLOW_NOT_ALLOWED_IN_TRS_OUT,
00121         AXIS2_ERROR_INVALID_HANDLER_STATE,
00122         /* Invalid Module Ref encountered */
00123         AXIS2_ERROR_INVALID_MODUELE_REF,
00124         /* Invalid Module Reference by Operation*/
00125         AXIS2_ERROR_INVALID_MODUELE_REF_BY_OP,
00126         /* Invalid Module Configuration */
00127         AXIS2_ERROR_INVALID_MODULE_CONF,
00128         /* Description Builder is found to be in invalid state */
00129         AXIS2_ERROR_INVALID_STATE_DESC_BUILDER,
00130         /* Module Not Found */
00131         AXIS2_ERROR_MODULE_NOT_FOUND,
00132         /* Module Validation Failed*/
00133         AXIS2_ERROR_MODULE_VALIDATION_FAILED,
00135         AXIS2_ERROR_MODULE_XML_NOT_FOUND_FOR_THE_MODULE,
00136         /* No dispatcher found*/
00137         AXIS2_ERROR_NO_DISPATCHER_FOUND,
00138         /* Operation name is missing */
00139         AXIS2_ERROR_OP_NAME_MISSING,
00140         /* In transport Receiver, Outflow is not allowed*/
00141         AXIS2_ERROR_OUT_FLOW_NOT_ALLOWED_IN_TRS_IN,
00142         /* Repository name cannot be NULL */
00143         AXIS2_ERROR_REPO_CAN_NOT_BE_NULL,
00144         /* Repository in path does not exist */
00145         AXIS2_ERROR_REPOSITORY_NOT_EXIST,
00146         /* Repository Listener initialization failed */
00147         AXIS2_ERROR_REPOS_LISTENER_INIT_FAILED,
00149         AXIS2_ERROR_SERVICE_XML_NOT_FOUND,
00150         /* Service Name Error */
00151         AXIS2_ERROR_SVC_NAME_ERROR,
00152         /* Transport Sender Error */
00153         AXIS2_ERROR_TRANSPORT_SENDER_ERROR,
00154         /* Path to Config can not be NULL */
00155         AXIS2_PATH_TO_CONFIG_CAN_NOT_BE_NULL,
00156         /* Invalid Service */
00157         AXIS2_ERROR_INVALID_SVC,
00158        /*
00159         * Group - core:description
00160         */ 
00161         /* Cannot correlate message*/
00162         AXIS2_ERROR_CANNOT_CORRELATE_MSG,
00164         AXIS2_ERROR_COULD_NOT_MAP_MEP_URI_TO_MEP_CONSTANT,
00165         /* Invalid messge addition , operation context completed */
00166         AXIS2_ERROR_INVALID_MESSAGE_ADDITION,
00168         AXIS2_ERROR_INVALID_STATE_MODULE_DESC,
00170         AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER,
00172         AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_OP,
00174         AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC,
00176         AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC_GRP,
00178         AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE,
00179         /* schema list is empty or NULL in svc */
00180         AXIS2_ERROR_EMPTY_SCHEMA_LIST,
00181        /*
00182         * Group - core:engine
00183         */ 
00185         AXIS2_ERROR_BEFORE_AFTER_HANDLERS_SAME,
00187         AXIS2_ERROR_INVALID_HANDLER_RULES,
00188         /* Invalid Module */
00189         AXIS2_ERROR_INVALID_MODULE,
00191         AXIS2_ERROR_INVALID_PHASE_FIRST_HANDLER,
00193         AXIS2_ERROR_INVALID_PHASE_LAST_HANDLER,
00195         AXIS2_ERROR_INVALID_STATE_CONF,
00197         AXIS2_ERROR_INVALID_STATE_PROCESSING_FAULT_ALREADY,
00199         AXIS2_ERROR_NOWHERE_TO_SEND_FAULT,
00201         AXIS2_ERROR_PHASE_ADD_HANDLER_INVALID,
00203         AXIS2_ERROR_PHASE_FIRST_HANDLER_ALREADY_SET,
00205         AXIS2_ERROR_PHASE_LAST_HANDLER_ALREADY_SET,
00208         AXIS2_ERROR_TWO_SVCS_CANNOT_HAVE_SAME_NAME,
00209        /*
00210         * Group - core:phaseresolver
00211         */ 
00212         /* Invalid Module Ref */
00213         AXIS2_ERROR_INVALID_MODULE_REF,
00214         /* Invalid Phase */
00215         AXIS2_ERROR_INVALID_PHASE,
00216         /* No Tranport Receiver is configured */
00217         AXIS2_ERROR_NO_TRANSPORT_IN_CONFIGURED,
00218         /* No Transport Sender is configured */
00219         AXIS2_ERROR_NO_TRANSPORT_OUT_CONFIGURED,
00220         /* Phase is not specified */
00221         AXIS2_ERROR_PHASE_IS_NOT_SPECIFED,
00222         /* Service module can not refer global phase */
00223         AXIS2_ERROR_SERVICE_MODULE_CAN_NOT_REFER_GLOBAL_PHASE,
00224 
00225         /*
00226          * Group - core:wsdl
00227          */
00229         AXIS2_ERROR_WSDL_SCHEMA_IS_NULL,
00230        /*
00231         * Group - core:receivers
00232         */ 
00233         /* Om Element has invalid state */
00234         AXIS2_ERROR_OM_ELEMENT_INVALID_STATE,
00235         /* Om Elements do not match */
00236         AXIS2_ERROR_OM_ELEMENT_MISMATCH,
00237         /* RPC style soap body don't have a child element */
00238         AXIS2_ERROR_RPC_NEED_MATCHING_CHILD,
00239         /* Operation Description has unknown operation style  */
00240         AXIS2_ERROR_UNKNOWN_STYLE,
00241         /* String does not represent a valid NCName */
00242         AXIS2_ERROR_STRING_DOES_NOT_REPRESENT_A_VALID_NC_NAME,
00243        /*
00244         * Group - core:transport
00245         */ 
00246 
00247        /*
00248         * Group - core:transport:http
00249         */ 
00250         /* Error occured in transport */
00251         AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR,
00253         AXIS2_ERROR_HTTP_REQUEST_NOT_SENT,
00255         AXIS2_ERROR_INVALID_HEADER,
00256         /* Invalid header start linei (request line or response line) */
00257         AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE,
00258         /* Transport protocol is unsupported by axis2 */
00259         AXIS2_ERROR_INVALID_TRANSPORT_PROTOCOL,
00261         AXIS2_ERROR_NULL_BODY,
00262         /* A valid conf_ctx is reqd for the http worker */
00263         AXIS2_ERROR_NULL_CONFIGURATION_CONTEXT,
00264         /* HTTP version cannot be null in the status/request line */ 
00265         AXIS2_ERROR_NULL_HTTP_VERSION,
00266         /* Input stream is NULL in msg_ctx */
00267         AXIS2_ERROR_NULL_IN_STREAM_IN_MSG_CTX,
00268         /* OM output is NULL */
00269         AXIS2_ERROR_NULL_OM_OUTPUT,
00270         /* Null soap envelope in msg_ctx */
00271         AXIS2_ERROR_NULL_SOAP_ENVELOPE_IN_MSG_CTX,
00272         /* NULL stream in the http chunked stream */
00273         AXIS2_ERROR_NULL_STREAM_IN_CHUNKED_STREAM,
00274         /* We got a NULL strem in the response body */
00275         AXIS2_ERROR_NULL_STREAM_IN_RESPONSE_BODY,
00277         AXIS2_ERROR_NULL_URL,
00278         /* We need transport_info in msg_ctx*/
00279         AXIS2_ERROR_OUT_TRNSPORT_INFO_NULL,
00280         /*Content-Type header missing in HTTP response" */
00281         AXIS2_ERROR_RESPONSE_CONTENT_TYPE_MISSING,
00283         AXIS2_ERROR_RESPONSE_TIMED_OUT,
00285         AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL,
00286         /* Error occured in SSL engine */
00287         AXIS2_ERROR_SSL_ENGINE,
00288         /* Either axis2c cannot find certificates or the env variable is not set*/
00289         AXIS2_ERROR_SSL_NO_CA_FILE,
00290         /* Error in writing the response in response writer */
00291         AXIS2_ERROR_WRITING_RESPONSE,
00292         /* Required parameter is missing in url encoded request*/
00293         AXIS2_ERROR_REQD_PARAM_MISSING,
00294         /* Unsuppoted schema type in REST */
00295         AXIS2_ERROR_UNSUPPORTED_SCHEMA_TYPE,
00296         /* Service or operation not found */
00297         AXIS2_ERROR_SVC_OR_OP_NOT_FOUND,
00298        /*
00299         * Group - mod_addr
00300         */ 
00301 
00302        /*
00303         * Group - platforms
00304         */
00305     
00306        /*
00307         * Group - utils
00308         */
00310       AXIS2_ERROR_COULD_NOT_OPEN_FILE,
00311         /* Failed in creating DLL */
00312         AXIS2_ERROR_DLL_CREATE_FAILED,
00313         /* DLL loading failed */
00314         AXIS2_ERROR_DLL_LOADING_FAILED,
00316       AXIS2_ERROR_ENVIRONMENT_IS_NULL,
00317         /* Axis2 File does not have a file name */
00318         AXIS2_ERROR_FILE_NAME_NOT_SET,
00319         /* DLL Description Info Object has invalid state */
00320         AXIS2_ERROR_INVALID_STATE_DLL_DESC,
00321         /* Failed in creating Handler*/
00322         AXIS2_ERROR_HANDLER_CREATION_FAILED,
00324         AXIS2_ERROR_INDEX_OUT_OF_BOUNDS,
00326       AXIS2_ERROR_INVALID_ADDRESS,
00328       AXIS2_ERROR_INVALID_FD,
00330       AXIS2_ERROR_INVALID_SOCKET,
00332         AXIS2_ERROR_INVALID_STATE_PARAM,
00333         /* Module create failed */
00334         AXIS2_ERROR_MODULE_CREATION_FAILED,
00335         /* Failed in creating Message Receiver*/
00336         AXIS2_ERROR_MSG_RECV_CREATION_FAILED,
00338         AXIS2_ERROR_NO_SUCH_ELEMENT,
00340       AXIS2_ERROR_SOCKET_BIND_FAILED,
00342       AXIS2_ERROR_SOCKET_ERROR,
00343         /* Listen failed for the server socket */
00344         AXIS2_ERROR_SOCKET_LISTEN_FAILED,
00345         /* Failed in creating Service Skeleton */
00346         AXIS2_ERROR_SVC_SKELETON_CREATION_FAILED,
00347         /* Failed in creating Transport Receiver */
00348         AXIS2_ERROR_TRANSPORT_RECV_CREATION_FAILED,
00349         /* Failed in creating Transport Sender */
00350         AXIS2_ERROR_TRANSPORT_SENDER_CREATION_FAILED,
00351         /* Generation of platform dependent uuid failed */
00352         AXIS2_ERROR_UUID_GEN_FAILED,
00353        /*
00354         * Group - wsdl
00355         */
00356         /* Interface or Port Type not found for the binding */
00357         AXIS2_ERROR_INTERFACE_OR_PORT_TYPE_NOT_FOUND_FOR_THE_BINDING,
00358       /* Interfaces or Ports not found for the partially built WOM */
00359       AXIS2_ERROR_INTERFACES_OR_PORTS_NOT_FOUND_FOR_PARTIALLY_BUILT_WOM,
00361         AXIS2_ERROR_INVALID_STATE_WSDL_OP,
00363         AXIS2_ERROR_INVALID_STATE_WSDL_SVC,
00364         /* Cannot determine MEP */
00365         AXIS2_ERROR_MEP_CANNOT_DETERMINE_MEP,
00366         /* Wsdl binding name cannot be NULL(Is required) */
00367         AXIS2_ERROR_WSDL_BINDING_NAME_IS_REQUIRED,
00368         /* PortType/Interface name cannot be null(Required) */
00369         AXIS2_ERROR_WSDL_INTERFACE_NAME_IS_REQUIRED,
00370         /* Wsdl parsing has resulted in an invalid state */
00371         AXIS2_ERROR_WSDL_PARSER_INVALID_STATE,
00372         /* Wsdl svc name cannot be null(Required) */
00373         AXIS2_ERROR_WSDL_SVC_NAME_IS_REQUIRED,
00374        /*
00375         * Group - xml
00376         */
00377 
00378        /*
00379         * Group - xml:attachments
00380         */
00381         
00382        /*
00383         * Group - xml:om
00384         */
00386         AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL,
00388         AXIS2_ERROR_INVALID_BUILDER_STATE_CANNOT_DISCARD,
00390         AXIS2_ERROR_INVALID_BUILDER_STATE_LAST_NODE_NULL,
00392         AXIS2_ERROR_INVALID_DOCUMENT_STATE_ROOT_NULL,
00394         AXIS2_ERROR_INVALID_DOCUMENT_STATE_UNDEFINED_NAMESPACE,
00396         AXIS2_ERROR_INVALID_EMPTY_NAMESPACE_URI,
00399         AXIS2_ERROR_ITERATOR_NEXT_METHOD_HAS_NOT_YET_BEEN_CALLED,
00402         AXIS2_ERROR_ITERATOR_REMOVE_HAS_ALREADY_BEING_CALLED,
00404         AXIS2_ERROR_XML_READER_ELEMENT_NULL,
00406         AXIS2_ERROR_XML_READER_VALUE_NULL,
00407        /*
00408         * Group - xml:parser
00409         */
00411         AXIS2_ERROR_CREATING_XML_STREAM_READER,
00413         AXIS2_ERROR_CREATING_XML_STREAM_WRITER,
00415         AXIS2_ERROR_WRITING_ATTRIBUTE,
00417         AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE,
00419         AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE_PREFIX,
00421         AXIS2_ERROR_WRITING_COMMENT,
00423         AXIS2_ERROR_WRITING_DEFAULT_NAMESPACE,
00425         AXIS2_ERROR_WRITING_DTD,
00427         AXIS2_ERROR_WRITING_EMPTY_ELEMENT,
00429         AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE,
00431         AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE_PREFIX,
00433         AXIS2_ERROR_WRITING_END_DOCUMENT,
00435         AXIS2_ERROR_WRITING_END_ELEMENT,
00437         AXIS2_ERROR_WRITING_PROCESSING_INSTRUCTION,
00439         AXIS2_ERROR_WRITING_START_DOCUMENT,
00441         AXIS2_ERROR_WRITING_START_ELEMENT,
00443         AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE,
00445         AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE_PREFIX,
00447         AXIS2_ERROR_WRITING_CDATA,
00449       AXIS2_ERROR_XML_PARSER_INVALID_MEM_TYPE,
00450       
00451        /*
00452         * Group - xml:soap
00453         */
00455         AXIS2_ERROR_INVALID_BASE_TYPE,
00457         AXIS2_ERROR_INVALID_SOAP_NAMESPACE_URI,
00459         AXIS2_ERROR_INVALID_SOAP_VERSION,
00460         /* invalid value found in must understand attribute*/
00461         AXIS2_ERROR_INVALID_VALUE_FOUND_IN_MUST_UNDERSTAND,
00462         /*multiple code elements encountered in soap fault element*/
00463         AXIS2_ERROR_MULTIPLE_CODE_ELEMENTS_ENCOUNTERED,
00464         /*multiple detail elements encountered in soap fault element*/
00465         AXIS2_ERROR_MULTIPLE_DETAIL_ELEMENTS_ENCOUNTERED,
00466         /*multiple node elements encountered in soap fault element*/
00467         AXIS2_ERROR_MULTIPLE_NODE_ELEMENTS_ENCOUNTERED,
00468         /*multiple reason elements encountered in soap fault element*/
00469         AXIS2_ERROR_MULTIPLE_REASON_ELEMENTS_ENCOUNTERED,
00470         /*multiple role elements encounterd in soap fault element*/
00471         AXIS2_ERROR_MULTIPLE_ROLE_ELEMENTS_ENCOUNTERED,
00472         /*multiple sub code values encountered in soap fault element*/
00473         AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED,
00474         /* multiple value elements encounered */
00475         AXIS2_ERROR_MULTIPLE_VALUE_ENCOUNTERED_IN_CODE_ELEMENT,
00476         /* must understatnd attribute should have values of true or false */
00477         AXIS2_ERROR_MUST_UNDERSTAND_SHOULD_BE_1_0_TRUE_FALSE,
00479         AXIS2_ERROR_OM_ELEMENT_EXPECTED,
00480         /* processing soap11 fault value element should have only
00481            text as its children */
00482         AXIS2_ERROR_ONLY_CHARACTERS_ARE_ALLOWED_HERE,
00484         AXIS2_ERROR_ONLY_ONE_SOAP_FAULT_ALLOWED_IN_BODY,
00485         /*soap11 fault actor element should not have child elements*/
00486         AXIS2_ERROR_SOAP11_FAULT_ACTOR_SHOULD_NOT_HAVE_CHILD_ELEMENTS,
00489         AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY,
00491         AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER,
00493         AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED,
00495         AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED,
00496         /*soap fault code element should a mandatory fault value element */
00497         AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE,
00498         /*soap fault reason element should have a text */
00499         AXIS2_ERROR_SOAP_FAULT_REASON_ELEMENT_SHOULD_HAVE_A_TEXT,
00500         /*soap fault role element should have a text value*/
00501         AXIS2_ERROR_SOAP_FAULT_ROLE_ELEMENT_SHOULD_HAVE_A_TEXT,
00502         /* soap fault value should be present before sub code element in soap fault code*/
00503         AXIS2_ERROR_SOAP_FAULT_VALUE_SHOULD_BE_PRESENT_BEFORE_SUB_CODE,
00505         AXIS2_ERROR_SOAP_MESSAGE_DOES_NOT_CONTAIN_AN_ENVELOPE,
00506         /*soap message first element must contain a localname*/
00507         AXIS2_ERROR_SOAP_MESSAGE_FIRST_ELEMENT_MUST_CONTAIN_LOCAL_NAME,
00508         /* this localname is not supported inside a reason element*/
00509         AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_REASON_ELEMENT,
00510         /*this localname is not supported inside a sub code element*/
00511         AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_SUB_CODE_ELEMENT,
00512         /*this localname is not supported inside the code element*/
00513         AXIS2_ERROR_THIS_LOCALNAME_NOT_SUPPORTED_INSIDE_THE_CODE_ELEMENT,
00514         /*transport level identified soap version does not match with the soap version*/
00515         AXIS2_ERROR_TRANSPORT_LEVEL_INFORMATION_DOES_NOT_MATCH_WITH_SOAP,
00516         /*unsupported element in soap fault element*/
00517         AXIS2_ERROR_UNSUPPORTED_ELEMENT_IN_SOAP_FAULT_ELEMENT,
00518         /*wrong element order encounterd*/
00519         AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED,
00520        /*
00521         * Group - services
00522         */
00524         AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST,
00526         AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL,
00528         AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST,
00529         
00535         AXIS2_ERROR_LAST
00536     };
00537         
00538     struct axis2_error;
00539     struct axis2_error_ops;
00540    typedef enum axis2_status_codes axis2_status_codes_t;
00541    typedef enum axis2_error_codes axis2_error_codes_t;
00542 
00554     typedef struct axis2_error_ops
00555     {
00556 
00562         axis2_status_t (AXIS2_CALL *free)(struct axis2_error *error);
00563         
00568     const axis2_char_t *(AXIS2_CALL *
00569     get_message)(
00570     const struct axis2_error *error);
00571       
00579     const axis2_char_t *(AXIS2_CALL *
00580     get_extended_message)(
00581     const struct axis2_error *error);
00582       
00583        axis2_status_t  (AXIS2_CALL *set_error_number) (struct axis2_error *error
00584             ,  axis2_error_codes_t error_number);
00585       
00586          axis2_status_t  (AXIS2_CALL *set_status_code) (struct axis2_error *error
00587             , axis2_status_codes_t status_code);
00588       
00589          axis2_status_t  (AXIS2_CALL *get_status_code) (struct axis2_error *error);
00590           
00591     } axis2_error_ops_t;
00592 
00598     typedef struct axis2_error
00599     {
00601         struct axis2_error_ops *ops;
00603         int error_number;
00604 
00605         int status_code;
00606     } axis2_error_t;
00607 
00608 AXIS2_EXTERN 
00609 axis2_status_t AXIS2_CALL axis2_error_init();
00610 
00611 #define AXIS2_ERROR_FREE(error) ((error->ops)->free(error))
00612 
00613 #define AXIS2_ERROR_GET_MESSAGE(error) \
00614     ((error)->ops->get_message(error))
00615 
00616 #define AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number) \
00617         ((error)->ops->set_error_number(error, error_number))
00618    
00619 #define AXIS2_ERROR_SET_STATUS_CODE(error, status_code) \
00620         ((error)->ops->set_status_code(error, status_code))
00621         
00622 #define AXIS2_ERROR_GET_STATUS_CODE(error) ((error)->ops->get_status_code(error))
00623 
00624 
00625 
00628 #ifdef __cplusplus
00629 }
00630 #endif
00631 
00632 
00633 #endif                          /* AXIS2_ERROR_H */

Generated on Thu Oct 26 21:11:23 2006 for Axis2/C by  doxygen 1.4.7