xml_schema_severity_type.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 XML_SCHEMA_SEREVITY_TYPE_H
00018 #define XML_SCHEMA_SEREVITY_TYPE_H
00019 
00028 #include <xml_schema_enum.h>
00029 
00035 typedef struct xml_schema_severity_type
00036                     xml_schema_severity_type_t;
00037 typedef struct xml_schema_severity_type_ops 
00038                     xml_schema_severity_type_ops_t;
00039 
00040 #define XML_SCHEMA_ERROR "error"
00041 #define XML_SCHEMA_WARNING "warning"
00042 
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047 
00048 struct xml_schema_severity_type_ops
00049 {
00054     axis2_status_t (AXIS2_CALL *
00055     free) (void *sevetiry,
00056             const axis2_env_t *env);
00057 
00058     xml_schema_enum_t *(AXIS2_CALL *
00059     get_base_impl) (void *severity,
00060                     const axis2_env_t *env);
00061     
00062     axis2_array_list_t *(AXIS2_CALL *
00063     get_values)(void *severity,
00064                 const axis2_env_t *env);
00065                 
00066     axis2_hash_t* (AXIS2_CALL *
00067     super_objs)(void *severity,
00068                 const axis2_env_t *env);
00069                 
00070     xml_schema_types_t (AXIS2_CALL*
00071     get_type)(void *severity,
00072           const axis2_env_t *env);                              
00073     
00074 };
00075 
00076 struct xml_schema_severity_type
00077 {
00078     xml_schema_enum_t base;
00079     xml_schema_severity_type_ops_t *ops;
00080 };
00081 
00082 AXIS2_EXTERN xml_schema_severity_type_t * AXIS2_CALL
00083 axis2_xml_severity_type_create(const axis2_env_t *env,
00084                                     axis2_char_t* value);
00085 
00086 /***************************** Macros ******************************************/
00087 
00088 #define XML_SCHEMA_SEREVITY_TYPE_FREE(severity, env) \
00089       (((xml_schema_severity_type_t *) severity)->ops->free(severity, env))
00090 
00091 #define XML_SCHEMA_SEREVITY_TYPE_GET_BASE_IMPL(severity, env) \
00092       (((xml_schema_severity_type_t *) severity)->ops->get_base_impl(severity, env))
00093 
00094 #define XML_SCHEMA_SEREVITY_TYPE_GET_VALUES(severity, env) \
00095       (((xml_schema_severity_type_t *) severity)->ops->values(severity, env))
00096 
00097 #define XML_SCHEMA_SEREVITY_TYPE_GET_TYPE(severity, env) \
00098       (((xml_schema_severity_type_t *) severity)->ops->get_type(severity, env))
00099 
00100 #define XML_SCHEMA_SEREVITY_TYPE_SUPER_OBJS(severity, env) \
00101       (((xml_schema_severity_type_t *) severity)->ops->super_objs(severity, env))
00102 
00104 #ifdef __cplusplus
00105 }
00106 #endif
00107 #endif /* XML_SCHEMA_SEREVITY_TYPE_H */

Generated on Tue Oct 3 20:48:00 2006 for Axis2/C by  doxygen 1.4.7