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

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

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