xml_schema_redefine.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_REDEFINE_H
00019 #define XML_SCHEMA_REDEFINE_H
00020 
00027 #include <xml_schema_external.h>
00028 #include <axis2_hash.h>
00029 #include <xml_schema_obj_table.h>
00030 #include <xml_schema_obj_collection.h>
00031 
00037 typedef struct xml_schema_redefine 
00038                     xml_schema_redefine_t;
00039 typedef struct xml_schema_redefine_ops 
00040                     xml_schema_redefine_ops_t;
00041                     
00042 struct xml_schema;                    
00043 
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048 
00049 struct xml_schema_redefine_ops
00050 {
00051     axis2_status_t (AXIS2_CALL *
00052     free) (void *redefine,
00053             const axis2_env_t *env);
00054             
00055     xml_schema_external_t* (AXIS2_CALL *
00056     get_base_impl)(void *redefine,
00057                    const axis2_env_t *env);            
00058 
00059     axis2_hash_t* (AXIS2_CALL *
00060     super_objs)(void *redefine,
00061                 const axis2_env_t *env);            
00062 
00063     xml_schema_types_t (AXIS2_CALL *
00064     get_type)(void *redefine,
00065           const axis2_env_t *env);            
00066 
00067     xml_schema_obj_table_t* (AXIS2_CALL *
00068     get_attribute_group)(void *redefine,
00069                 const axis2_env_t *env);
00070                 
00071     axis2_status_t (AXIS2_CALL *
00072     set_attribute_group)(void *redefine,
00073                 const axis2_env_t *env,
00074                 xml_schema_obj_table_t *group);
00075                    
00076     xml_schema_obj_collection_t* (AXIS2_CALL *
00077     get_items)(void *redefine,
00078                const axis2_env_t *env);
00079                
00080     xml_schema_obj_table_t* (AXIS2_CALL *
00081     get_schema_types)(void *redefine,
00082                       const axis2_env_t *env);
00083                       
00084     xml_schema_obj_table_t* (AXIS2_CALL *
00085     get_group)(void *redefine, 
00086                const axis2_env_t *env);                      
00087                       
00088 };
00089 
00090 struct xml_schema_redefine
00091 {
00092     xml_schema_external_t base;
00093     xml_schema_redefine_ops_t *ops;
00094 };
00095 
00099 AXIS2_EXTERN xml_schema_redefine_t * AXIS2_CALL
00100 xml_schema_redefine_create(const axis2_env_t *env);
00101 
00102 #define XML_SCHEMA_REDEFINE_FREE(redefine, env) \
00103       (((xml_schema_redefine_t *) redefine)->ops->\
00104             free(redefine, env))
00105 
00106 #define XML_SCHEMA_REDEFINE_GET_BASE_IMPL(redefine, env) \
00107       (((xml_schema_redefine_t *) redefine)->ops->\
00108             get_base_impl(redefine, env))
00109 
00110 #define XML_SCHEMA_REDEFINE_GET_TYPE(redefine, env) \
00111       (((xml_schema_redefine_t *) redefine)->ops->\
00112             get_type(redefine, env))
00113 
00114 #define XML_SCHEMA_REDEFINE_SUPER_OBJS(redefine, env) \
00115       (((xml_schema_redefine_t *) redefine)->ops->\
00116             super_objs(redefine, env))
00117 
00118 #define XML_SCHEMA_REDEFINE_GET_ATTRIBUTE_GROUP(redefine, env) \
00119       (((xml_schema_redefine_t *) redefine)->ops->\
00120             get_attribute_group(redefine, env))
00121 
00122 #define XML_SCHEMA_REDEFINE_SET_ATTRIBUTE_GROUP(redefine, env, group) \
00123       (((xml_schema_redefine_t *) redefine)->ops->\
00124             set_attribute_group(redefine, env, group))
00125             
00126 #define XML_SCHEMA_REDEFINE_GET_ITEMS(redefine, env) \
00127         (((xml_schema_redefine_t *) redefine)->ops->\
00128             get_items(redefine, env))
00129             
00130 #define XML_SCHEMA_REDEFINE_GET_GROUP(redefine, env) \
00131         (((xml_schema_redefine_t *) redefine)->ops->\
00132             get_group(redefine, env))                       
00133 
00134 #define XML_SCHEMA_REDEFINE_GET_SCHEMA_TYPES(redefine, env) \
00135         (((xml_schema_redefine_t *) redefine)->ops->\
00136             get_schema_types(redefine, env))
00137 
00138 #ifdef __cplusplus
00139 }
00140 #endif
00141 #endif /* XML_SCHEMA_REDEFINE_H */

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