xml_schema_simple_content_extension.h

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_H
00019 #define XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_H
00020 
00030 #include <xml_schema_annotated.h>
00031 #include <xml_schema_obj_collection.h>
00032 #include <xml_schema_any_attribute.h>
00033 #include <axis2_hash.h>
00034 #include <axis2_qname.h>
00042 #ifdef __cplusplus
00043 extern "C"
00044 {
00045 #endif
00046 
00047 typedef struct xml_schema_simple_content_extension 
00048                 xml_schema_simple_content_extension_t;
00049                 
00050 typedef struct xml_schema_simple_content_extension_ops 
00051                 xml_schema_simple_content_extension_ops_t;
00052 
00053 struct xml_schema_simple_content_extension_ops
00054 {
00055     axis2_status_t (AXIS2_CALL *
00056     free) (void *sim_content_ext,
00057             const axis2_env_t *env);
00058 
00059     xml_schema_annotated_t *(AXIS2_CALL *
00060     get_base_impl) (void *sim_content_ext,
00061                     const axis2_env_t *env);
00062                     
00063     xml_schema_types_t (AXIS2_CALL *
00064     get_type)(void *sim_content_ext,
00065           const axis2_env_t *env);
00066           
00067     axis2_hash_t* (AXIS2_CALL *
00068     super_objs)(void *sim_content_ext,
00069                 const axis2_env_t *env);                              
00070 
00071     xml_schema_any_attribute_t* (AXIS2_CALL *
00072     get_any_attribute)(
00073             void* sim_content_ext,
00074             const axis2_env_t *env);
00075     
00076     axis2_status_t (AXIS2_CALL *
00077     set_any_attribute)(
00078             void *sim_content_ext,
00079             const axis2_env_t *env,
00080             xml_schema_any_attribute_t *any_attr);
00081     
00082     xml_schema_obj_collection_t* (AXIS2_CALL *
00083     get_attributes)(
00084             void *sim_content_ext,
00085             const axis2_env_t *env);
00086             
00087     axis2_qname_t* (AXIS2_CALL*
00088     get_base_type_name)(
00089             void *sim_content_ext,
00090             const axis2_env_t *env);
00091             
00092     axis2_status_t (AXIS2_CALL *
00093     set_base_type_name)(
00094             void *sim_content_ext,
00095             const axis2_env_t *env,
00096             axis2_qname_t *qname);
00097             
00098 
00099     
00100 };
00101 
00102 struct xml_schema_simple_content_extension
00103 {
00104     xml_schema_annotated_t base;
00105     xml_schema_simple_content_extension_ops_t *ops;
00106 };
00107 
00111 AXIS2_EXTERN xml_schema_simple_content_extension_t * AXIS2_CALL
00112 xml_schema_simple_content_extension_create(const axis2_env_t *env);
00113 
00114 /************************** Macros ****************************************************/
00115 
00116 #define XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_FREE(sim_content_ext, env) \
00117       (((xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
00118           free(sim_content_ext, env))
00119 
00120 #define XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_GET_BASE_IMPL(sim_content_ext, env) \
00121       (((xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
00122             get_base_impl(sim_content_ext, env))
00123 
00124 #define XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_GET_TYPE(sim_content_ext, env) \
00125       (((xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
00126             get_type(sim_content_ext, env))
00127             
00128 #define XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_SUPER_OBJS(sim_content_ext, env) \
00129       (((xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
00130             super_objs(sim_content_ext, env))            
00131     
00132 #define XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_GET_ANY_ATTRIBUTE(sim_content_ext, env) \
00133       (((xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
00134           get_any_attribute(sim_content_ext, env))
00135 
00136 #define XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_SET_ANY_ATTRIBUTE(sim_content_ext, env, any_attr)\
00137       (((xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
00138           set_any_attribute(sim_content_ext, env, any_attr ))
00139 
00140 #define XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_GET_ATTRIBUTES(sim_content_ext, env) \
00141       (((xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
00142           get_attributes(sim_content_ext, env))
00143             
00144 #define XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_GET_BASE_TYPE_NAME(sim_content_ext, env)\
00145         (((xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
00146             get_base_type_name(sim_content_ext, env))            
00147 
00148 #define XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_SET_BASE_TYPE_NAME(sim_content_ext, \
00149           env, base_type_name) \
00150         (((xml_schema_simple_content_extension_t *)sim_content_ext)->ops->\
00151             set_base_type_name(sim_content_ext, env, base_type_name))
00152             
00153             
00155 #ifdef __cplusplus
00156 }
00157 #endif
00158 #endif /* XML_SCHEMA_SIMPLE_CONTENT_EXTENSION_H */

Generated on Wed Dec 20 20:34:51 2006 for Axis2/C by  doxygen 1.5.1