Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Examples

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_CRTICAL_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         /*
00090          * Group - core:clientapi:diclient
00091          */
00092 
00093         /*
00094          * Group - core:context
00095          */
00097         AXIS2_ERROR_INVALID_SOAP_ENVELOPE_STATE,
00099         AXIS2_ERROR_INVALID_STATE_MSG_CTX,
00101         AXIS2_ERROR_INVALID_STATE_SVC,
00103         AXIS2_ERROR_INVALID_STATE_SVC_GRP,
00105         AXIS2_ERROR_SERVICE_NOT_YET_FOUND,
00106 
00107        /*
00108         * Group - core:deployment
00109         */ 
00110         /* Invalid phase found in phase validation*/
00111         AXI2_ERROR_INVALID_PHASE,
00112         /* axis2.xml cannot be not found*/
00113         AXIS2_ERROR_CONFIG_NOT_FOUND,
00114         /* Data element of the OM Node is null */
00115         AXIS2_ERROR_DATA_ELEMENT_IS_NULL,
00116         /* In transport sender, Inflow is not allowed */
00117         AXIS2_ERROR_INFLOW_NOT_ALLOWED_IN_TRS_OUT,
00119         AXIS2_ERROR_INVALID_HANDLER_STATE,
00120         /* Invalid Module Ref encountered */
00121         AXIS2_ERROR_INVALID_MODUELE_REF,
00122         /* Invalid Module Reference by Operation*/
00123         AXIS2_ERROR_INVALID_MODUELE_REF_BY_OP,
00124         /* Invalid Module Configuration */
00125         AXIS2_ERROR_INVALID_MODULE_CONF,
00126         /* Description Builder is found to be in invalid state */
00127         AXIS2_ERROR_INVALID_STATE_DESC_BUILDER,
00128         /* Module Not Found */
00129         AXIS2_ERROR_MODULE_NOT_FOUND,
00130         /* Module Validation Failed*/
00131         AXIS2_ERROR_MODULE_VALIDATION_FAILED,
00133         AXIS2_ERROR_MODULE_XML_NOT_FOUND_FOR_THE_MODULE,
00134         /* No dispatcher found*/
00135         AXIS2_ERROR_NO_DISPATCHER_FOUND,
00136         /* Operation name is missing */
00137         AXIS2_ERROR_OP_NAME_MISSING,
00138         /* In transport Receiver, Outflow is not allowed*/
00139         AXIS2_ERROR_OUTFLOW_NOT_ALLOWED_IN_TRS_IN,
00140         /* Repository name cannot be NULL */
00141         AXIS2_ERROR_REPO_CAN_NOT_BE_NULL,
00142         /* Repository in path does not exist */
00143         AXIS2_ERROR_REPOSITORY_NOT_EXIST,
00144         /* Repository Listener initialization failed */
00145         AXIS2_ERROR_REPOS_LISTENER_INIT_FAILED,
00147         AXIS2_ERROR_SERVICE_XML_NOT_FOUND,
00148         /* Service Name Error */
00149         AXIS2_ERROR_SVC_NAME_ERROR,
00150         /* Transport Sender Error */
00151         AXIS2_ERROR_TRANSPORT_SENDER_ERROR,
00152         /* Path to Config can not be NULL */
00153         AXIS2_PATH_TO_CONFIG_CAN_NOT_BE_NULL,
00154         /* Invalid Service */
00155         AXIS2_ERROR_INVALID_SVC,
00156        /*
00157         * Group - core:description
00158         */ 
00159         /* Cannot correlate message*/
00160         AXIS2_ERROR_CANNOT_CORRELATE_MSG,
00162         AXIS2_ERROR_COULD_NOT_MAP_MEP_URI_TO_MEP_CONSTANT,
00163         /* Invalid messge addition , operation context completed */
00164         AXIS2_ERROR_INVALID_MESSAGE_ADDITION,
00166         AXIS2_ERROR_INVALID_STATE_MODULE_DESC,
00168         AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER,
00170         AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_OP,
00172         AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC,
00174         AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC_GRP,
00176         AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE,
00177        /*
00178         * Group - core:engine
00179         */ 
00181         AXIS2_ERROR_BEFORE_AFTER_HANDLERS_SAME,
00183         AXIS2_ERROR_INVALID_HANDLER_RULES,
00184         /* Invalid Module */
00185         AXIS2_ERROR_INVALID_MODULE,
00187         AXIS2_ERROR_INVALID_PHASE_FIRST_HANDLER,
00189         AXIS2_ERROR_INVALID_PHASE_LAST_HANDLER,
00191         AXIS2_ERROR_INVALID_STATE_CONF,
00193         AXIS2_ERROR_INVALID_STATE_PROCESSING_FAULT_ALREADY,
00195         AXIS2_ERROR_NOWHERE_TO_SEND_FAULT,
00197         AXIS2_ERROR_PHASE_ADD_HANDLER_INVALID,
00199         AXIS2_ERROR_PHASE_FIRST_HANDLER_ALREADY_SET,
00201         AXIS2_ERROR_PHASE_LAST_HANDLER_ALREADY_SET,
00204         AXIS2_ERROR_TWO_SVCS_CANNOT_HAVE_SAME_NAME,
00205        /*
00206         * Group - core:phaseresolver
00207         */ 
00208         /* Invalid Module Ref */
00209         AXIS2_ERROR_INVALID_MODULE_REF,
00210         /* Invalid Phase */
00211         AXIS2_ERROR_INVALID_PHASE,
00212         /* No Tranport Receiver is configured */
00213         AXIS2_ERROR_NO_TRANSPORT_IN_CONFIGURED,
00214         /* No Transport Sender is configured */
00215         AXIS2_ERROR_NO_TRANSPORT_OUT_CONFIGURED,
00216         /* Phase is not specified */
00217         AXIS2_ERROR_PHASE_IS_NOT_SPECIFED,
00218         /* Service module can not refer global phase */
00219         AXIS2_ERROR_SERVICE_MODULE_CAN_NOT_REFER_GLOBAL_PHASE,
00220 
00221         /*
00222          * Group - core:wsdl
00223          */
00225         AXIS2_ERROR_WSDL_SCHEMA_IS_NULL,
00226        /*
00227         * Group - core:receivers
00228         */ 
00229         /* Om Element has invalid state */
00230         AXIS2_ERROR_OM_ELEMENT_INVALID_STATE,
00231         /* Om Elements do not match */
00232         AXIS2_ERROR_OM_ELEMENT_MISMATCH,
00233         /* RPC style soap body don't have a child element */
00234         AXIS2_ERROR_RPC_NEED_MATCHING_CHILD,
00235         /* Operation Description has unknown operation style  */
00236         AXIS2_ERROR_UNKNOWN_STYLE,
00237         /* String does not represent a valid NCName */
00238         AXIS2_ERROR_STRING_DOES_NOT_REPRESENT_A_VALID_NC_NAME,
00239        /*
00240         * Group - core:transport
00241         */ 
00242 
00243        /*
00244         * Group - core:transport:http
00245         */ 
00246         /* Error occured in transport */
00247         AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR,
00249         AXIS2_ERROR_HTTP_REQUEST_NOT_SENT,
00251         AXIS2_ERROR_INVALID_HEADER,
00252         /* Invalid header start linei (request line or response line) */
00253         AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE,
00254         /* Transport protocol is unsupported by axis2 */
00255         AXIS2_ERROR_INVALID_TRANSPORT_PROTOCOL,
00257         AXIS2_ERROR_NULL_BODY,
00258         /* A valid conf_ctx is reqd for the http worker */
00259         AXIS2_ERROR_NULL_CONFIGURATION_CONTEXT,
00260         /* HTTP version cannot be null in the status/request line */ 
00261         AXIS2_ERROR_NULL_HTTP_VERSION,
00262         /* Input stream is NULL in msg_ctx */
00263         AXIS2_ERROR_NULL_IN_STREAM_IN_MSG_CTX,
00264         /* OM output is NULL */
00265         AXIS2_ERROR_NULL_OM_OUTPUT,
00266         /* Null soap envelope in msg_ctx */
00267         AXIS2_ERROR_NULL_SOAP_ENVELOPE_IN_MSG_CTX,
00268         /* NULL stream in the http chunked stream */
00269         AXIS2_ERROR_NULL_STREAM_IN_CHUNKED_STREAM,
00270         /* We got a NULL strem in the response body */
00271         AXIS2_ERROR_NULL_STREAM_IN_RESPONSE_BODY,
00273       AXIS2_ERROR_NULL_URL,
00274         /* We need transport_info in msg_ctx*/
00275         AXIS2_ERROR_OUT_TRNSPORT_INFO_NULL,
00276         /*Content-Type header missing in HTTP response" */
00277         AXIS2_ERROR_RESPONSE_CONTENT_TYPE_MISSING,
00279         AXIS2_ERROR_RESPONSE_TIMED_OUT,
00281         AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL,
00282         /* Error occured in SSL engine */
00283         AXIS2_ERROR_SSL_ENGINE,
00284         /* Either axis2c cannot find certificates or the env variable is not set*/
00285         AXIS2_ERROR_SSL_NO_CA_FILE,
00286         /* Error in writing the response in response writer */
00287         AXIS2_ERROR_WRITING_RESPONSE,
00288        /*
00289         * Group - mod_addr
00290         */ 
00291 
00292        /*
00293         * Group - platforms
00294         */
00295     
00296        /*
00297         * Group - utils
00298         */
00300       AXIS2_ERROR_COULD_NOT_OPEN_FILE,
00301         /* Failed in creating DLL */
00302         AXIS2_ERROR_DLL_CREATE_FAILED,
00303         /* DLL loading failed */
00304         AXIS2_ERROR_DLL_LOADING_FAILED,
00306       AXIS2_ERROR_ENVIRONMENT_IS_NULL,
00307         /* Axis2 File does not have a file name */
00308         AXIS2_ERROR_FILE_NAME_NOT_SET,
00309         /* DLL Description Info Object has invalid state */
00310         AXIS2_ERROR_INVALID_STATE_DLL_DESC,
00311         /* Failed in creating Handler*/
00312         AXIS2_ERROR_HANDLER_CREATION_FAILED,
00314         AXIS2_ERROR_INDEX_OUT_OF_BOUNDS,
00316       AXIS2_ERROR_INVALID_ADDRESS,
00318       AXIS2_ERROR_INVALID_FD,
00320       AXIS2_ERROR_INVALID_SOCKET,
00322         AXIS2_ERROR_INVALID_STATE_PARAM,
00323         /* Module create failed */
00324         AXIS2_ERROR_MODULE_CREATION_FAILED,
00325         /* Failed in creating Message Receiver*/
00326         AXIS2_ERROR_MSG_RECV_CREATION_FAILED,
00328         AXIS2_ERROR_NO_SUCH_ELEMENT,
00330       AXIS2_ERROR_SOCKET_BIND_FAILED,
00332       AXIS2_ERROR_SOCKET_ERROR,
00333         /* Listen failed for the server socket */
00334         AXIS2_ERROR_SOCKET_LISTEN_FAILED,
00335         /* Failed in creating Service Skeleton */
00336         AXIS2_ERROR_SVC_SKELETON_CREATION_FAILED,
00337         /* Failed in creating Transport Receiver */
00338         AXIS2_ERROR_TRANSPORT_RECV_CREATION_FAILED,
00339         /* Failed in creating Transport Sender */
00340         AXIS2_ERROR_TRANSPORT_SENDER_CREATION_FAILED,
00341         /* Generation of platform dependent uuid failed */
00342         AXIS2_ERROR_UUID_GEN_FAILED,
00343        /*
00344         * Group - wsdl
00345         */
00346         /* Interface or Port Type not found for the binding */
00347         AXIS2_ERROR_INTERFACE_OR_PORT_TYPE_NOT_FOUND_FOR_THE_BINDING,
00348       /* Interfaces or Ports not found for the partially built WOM */
00349       AXIS2_ERROR_INTERFACES_OR_PORTS_NOT_FOUND_FOR_PARTIALLY_BUILT_WOM,
00351         AXIS2_ERROR_INVALID_STATE_WSDL_OP,
00353         AXIS2_ERROR_INVALID_STATE_WSDL_SVC,
00354         /* Cannot determine MEP */
00355         AXIS2_ERROR_MEP_CANNOT_DETERMINE_MEP,
00356         /* Wsdl binding name cannot be NULL(Is required) */
00357         AXIS2_ERROR_WSDL_BINDING_NAME_IS_REQUIRED,
00358         /* PortType/Interface name cannot be null(Required) */
00359         AXIS2_ERROR_WSDL_INTERFACE_NAME_IS_REQUIRED,
00360         /* Wsdl parsing has resulted in an invalid state */
00361         AXIS2_ERROR_WSDL_PARSER_INVALID_STATE,
00362         /* Wsdl svc name cannot be null(Required) */
00363         AXIS2_ERROR_WSDL_SVC_NAME_IS_REQUIRED,
00364        /*
00365         * Group - xml
00366         */
00367 
00368        /*
00369         * Group - xml:attachments
00370         */
00371         
00372        /*
00373         * Group - xml:om
00374         */
00376         AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL,
00378         AXIS2_ERROR_INVALID_BUILDER_STATE_CANNOT_DISCARD,
00380         AXIS2_ERROR_INVALID_BUILDER_STATE_LAST_NODE_NULL,
00382         AXIS2_ERROR_INVALID_DOCUMENT_STATE_ROOT_NULL,
00384         AXIS2_ERROR_INVALID_DOCUMENT_STATE_UNDEFINED_NAMESPACE,
00386         AXIS2_ERROR_INVALID_EMPTY_NAMESPACE_URI,
00389         AXIS2_ERROR_ITERATOR_NEXT_METHOD_HAS_NOT_YET_BEEN_CALLED,
00392         AXIS2_ERROR_ITERATOR_REMOVE_HAS_ALREADY_BEING_CALLED,
00394         AXIS2_ERROR_XML_READER_ELEMENT_NULL,
00396         AXIS2_ERROR_XML_READER_VALUE_NULL,
00397        /*
00398         * Group - xml:parser
00399         */
00401         AXIS2_ERROR_CREATING_XML_STREAM_READER,
00403         AXIS2_ERROR_CREATING_XML_STREAM_WRITER,
00405         AXIS2_ERROR_WRITING_ATTRIBUTE,
00407         AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE,
00409         AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE_PREFIX,
00411         AXIS2_ERROR_WRITING_COMMENT,
00413         AXIS2_ERROR_WRITING_DEFAULT_NAMESPACE,
00415         AXIS2_ERROR_WRITING_DTD,
00417         AXIS2_ERROR_WRITING_EMPTY_ELEMENT,
00419         AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE,
00421         AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE_PREFIX,
00423         AXIS2_ERROR_WRITING_END_DOCUMENT,
00425         AXIS2_ERROR_WRITING_END_ELEMENT,
00427         AXIS2_ERROR_WRITING_PROCESSING_INSTRUCTION,
00429         AXIS2_ERROR_WRITING_START_DOCUMENT,
00431         AXIS2_ERROR_WRITING_START_ELEMENT,
00433         AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE,
00435         AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE_PREFIX,
00437         AXIS2_ERROR_WRITING_CDATA,
00439       AXIS2_ERROR_XML_PARSER_INVALID_MEM_TYPE,
00440       
00441        /*
00442         * Group - xml:soap
00443         */
00445         AXIS2_ERROR_INVALID_BASE_TYPE,
00447         AXIS2_ERROR_INVALID_SOAP_NAMESPACE_URI,
00449         AXIS2_ERROR_INVALID_SOAP_VERSION,
00450         /* invalid value found in must understand attribute*/
00451         AXIS2_ERROR_INVALID_VALUE_FOUND_IN_MUST_UNDERSTAND,
00452         /*multiple code elements encountered in soap fault element*/
00453         AXIS2_ERROR_MULTIPLE_CODE_ELEMENTS_ENCOUNTERED,
00454         /*multiple detail elements encountered in soap fault element*/
00455         AXIS2_ERROR_MULTIPLE_DETAIL_ELEMENTS_ENCOUNTERED,
00456         /*multiple node elements encountered in soap fault element*/
00457         AXIS2_ERROR_MULTIPLE_NODE_ELEMENTS_ENCOUNTERED,
00458         /*multiple reason elements encountered in soap fault element*/
00459         AXIS2_ERROR_MULTIPLE_REASON_ELEMENTS_ENCOUNTERED,
00460         /*multiple role elements encounterd in soap fault element*/
00461         AXIS2_ERROR_MULTIPLE_ROLE_ELEMENTS_ENCOUNTERED,
00462         /*multiple sub code values encountered in soap fault element*/
00463         AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED,
00464         /* multiple value elements encounered */
00465         AXIS2_ERROR_MULTIPLE_VALUE_ENCOUNTERED_IN_CODE_ELEMENT,
00466         /* must understatnd attribute should have values of true or false */
00467         AXIS2_ERROR_MUST_UNDERSTAND_SHOULD_BE_1_0_TRUE_FALSE,
00469         AXIS2_ERROR_OM_ELEMENT_EXPECTED,
00470         /* processing soap11 fault value element should have only
00471            text as its children */
00472         AXIS2_ERROR_ONLY_CHARACTERS_ARE_ALLOWED_HERE,
00474         AXIS2_ERROR_ONLY_ONE_SOAP_FAULT_ALLOWED_IN_BODY,
00475         /*soap11 fault actor element should not have child elements*/
00476         AXIS2_ERROR_SOAP11_FAULT_ACTOR_SHOULD_NOT_HAVE_CHILD_ELEMENTS,
00479         AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY,
00481         AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER,
00483         AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED,
00485         AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED,
00486         /*soap fault code element should a mandatory fault value element */
00487         AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE,
00488         /*soap fault reason element should have a text */
00489         AXIS2_ERROR_SOAP_FAULT_REASON_ELEMENT_SHOULD_HAVE_A_TEXT,
00490         /*soap fault role element should have a text value*/
00491         AXIS2_ERROR_SOAP_FAULT_ROLE_ELEMENT_SHOULD_HAVE_A_TEXT,
00492         /* soap fault value should be present before sub code element in soap fault code*/
00493         AXIS2_ERROR_SOAP_FAULT_VALUE_SHOULD_BE_PRESENT_BEFORE_SUB_CODE,
00495         AXIS2_ERROR_SOAP_MESSAGE_DOES_NOT_CONTAIN_AN_ENVELOPE,
00496         /*soap message first element must contain a localname*/
00497         AXIS2_ERROR_SOAP_MESSAGE_FIRST_ELEMENT_MUST_CONTAIN_LOCAL_NAME,
00498         /* this localname is not supported inside a reason element*/
00499         AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_REASON_ELEMENT,
00500         /*this localname is not supported inside a sub code element*/
00501         AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_SUB_CODE_ELEMENT,
00502         /*this localname is not supported inside the code element*/
00503         AXIS2_ERROR_THIS_LOCALNAME_NOT_SUPPORTED_INSIDE_THE_CODE_ELEMENT,
00504         /*transport level identified soap version does not match with the soap version*/
00505         AXIS2_ERROR_TRANSPORT_LEVEL_INFORMATION_DOES_NOT_MATCH_WITH_SOAP,
00506         /*unsupported element in soap fault element*/
00507         AXIS2_ERROR_UNSUPPORTED_ELEMENT_IN_SOAP_FAULT_ELEMENT,
00508         /*wrong element order encounterd*/
00509         AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED,
00510        /*
00511         * Group - services
00512         */
00514         AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST,
00516         AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL,
00518         AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST,
00519         
00525         AXIS2_ERROR_LAST
00526     };
00527         
00528     struct axis2_error;
00529     struct axis2_error_ops;
00530    typedef enum axis2_status_codes axis2_status_codes_t;
00531    typedef enum axis2_error_codes axis2_error_codes_t;
00532 
00544    AXIS2_DECLARE_DATA typedef struct axis2_error_ops
00545     {
00546 
00552         axis2_status_t (AXIS2_CALL *free)(struct axis2_error *error);
00553         
00558     const axis2_char_t *(AXIS2_CALL *
00559     get_message)(
00560     const struct axis2_error *error);
00561       
00562        axis2_status_t  (AXIS2_CALL *set_error_number) (struct axis2_error *error
00563             ,  axis2_error_codes_t error_number);
00564       
00565          axis2_status_t  (AXIS2_CALL *set_status_code) (struct axis2_error *error
00566             , axis2_status_codes_t status_code);
00567       
00568          axis2_status_t  (AXIS2_CALL *get_status_code) (struct axis2_error *error);
00569           
00570     } axis2_error_ops_t;
00571 
00577     typedef struct axis2_error
00578     {
00580         struct axis2_error_ops *ops;
00582         int error_number;
00583 
00584         int status_code;
00585     } axis2_error_t;
00586 
00587 AXIS2_EXTERN 
00588 axis2_status_t AXIS2_CALL axis2_error_init();
00589 
00590 #define AXIS2_ERROR_FREE(error) ((error->ops)->free(error))
00591 
00592 #define AXIS2_ERROR_GET_MESSAGE(error) \
00593     ((error)->ops->get_message(error))
00594 
00595 #define AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number) \
00596         ((error)->ops->set_error_number(error, error_number))
00597    
00598 #define AXIS2_ERROR_SET_STATUS_CODE(error, status_code) \
00599         ((error)->ops->set_status_code(error, status_code))
00600         
00601 #define AXIS2_ERROR_GET_STATUS_CODE(error) ((error)->ops->get_status_code(error))
00602 
00603 
00604 
00607 #ifdef __cplusplus
00608 }
00609 #endif
00610 
00611 
00612 #endif                          /* AXIS2_ERROR_H */

Generated on Fri Jun 16 18:02:31 2006 for Axis2/C by  doxygen 1.4.2