xml_schema_tokenized_type.h

Go to the documentation of this file.
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_TOKENIZED_TYPE_H
00018 #define XML_SCHEMA_TOKENIZED_TYPE_H
00019 
00027 #include <xml_schema_enum.h>
00028 
00034 typedef struct xml_schema_tokenized_type xml_schema_tokenized_type_t;
00035 typedef struct xml_schema_tokenized_type_ops 
00036         xml_schema_tokenized_type_ops_t;
00037 
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042 
00043 struct xml_schema_tokenized_type_ops
00044 {
00049     axis2_status_t (AXIS2_CALL *
00050     free) (void *tokenized_type,
00051             const axis2_env_t *env);
00052 
00053     xml_schema_enum_t *(AXIS2_CALL *
00054     get_base_impl) (void *tokenized_type,
00055                     const axis2_env_t *env);
00056     
00057     axis2_array_list_t *(AXIS2_CALL *
00058     get_values)(void *tokenized_type,
00059                 const axis2_env_t *env);
00060                 
00061     axis2_hash_t* (AXIS2_CALL *
00062     super_objs)(void *tokenized_type,
00063                 const axis2_env_t *env);
00064                 
00065     xml_schema_types_t (AXIS2_CALL *
00066     get_type)(void *tokenized_type,
00067           const axis2_env_t *env);                                
00068     
00069 };
00070 
00071 struct xml_schema_tokenized_type
00072 {
00073     xml_schema_enum_t base;
00074     xml_schema_tokenized_type_ops_t *ops;
00075 };
00076 
00077 AXIS2_EXTERN xml_schema_tokenized_type_t * AXIS2_CALL
00078 xml_schema_tokenized_type_create(const axis2_env_t *env,
00079                                     axis2_char_t* value);
00080 
00081 /********************** Macros **************************************************************/
00082 
00083 #define XML_SCHEMA_TOKENIZED_TYPE_FREE(tokenized_type, env) \
00084       (((xml_schema_tokenized_type_t *) tokenized_type)->ops->free(tokenized_type, env))
00085 
00086 #define XML_SCHEMA_TOKENIZED_TYPE_GET_BASE_IMPL(tokenized_type, env) \
00087       (((xml_schema_tokenized_type_t *) tokenized_type)->ops->get_base_impl(tokenized_type, env))
00088 
00089 #define XML_SCHEMA_TOKENIZED_TYPE_GET_VALUES(tokenized_type, env) \
00090       (((xml_schema_tokenized_type_t *) tokenized_type)->ops->values(tokenized_type, env))
00091       
00092 #define XML_SCHEMA_TOKENIZED_TYPE_SUPER_OBJS(tokenized_type, env) \
00093       (((xml_schema_tokenized_type_t *) tokenized_type)->ops->super_objs(tokenized_type, env))      
00094 
00095 #define XML_SCHEMA_TOKENIZED_TYPE_GET_TYPE(tokenized_type, env) \
00096       (((xml_schema_tokenized_type_t *) tokenized_type)->ops->\
00097         get_type(tokenized_type, env))
00098 
00099 #ifdef __cplusplus
00100 }
00101 #endif
00102 #endif /* XML_SCHEMA_TOKENIZED_TYPE_H */

Generated on Thu Aug 31 17:32:37 2006 for Axis2/C by  doxygen 1.4.6