w2c_properties.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 W2C_PROPERTIES_PARSER_H
00018 #define W2C_PROPERTIES_PARSER_H
00019 
00025 #include <stdio.h>
00026 #include <axis2_utils.h>
00027 #include <axis2_hash.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00040 typedef struct w2c_properties w2c_properties_t;
00041 typedef struct w2c_properties_ops w2c_properties_ops_t;
00042 
00043 AXIS2_DECLARE_DATA  struct w2c_properties_ops
00044 {
00053      axis2_status_t (AXIS2_CALL *
00054      free)(w2c_properties_t *properties,
00055           const axis2_env_t *env);
00056     
00062      axis2_hash_t* (AXIS2_CALL *
00063      get_hash)(w2c_properties_t *properties,
00064            const axis2_env_t *env);
00065 };
00066 
00067 AXIS2_DECLARE_DATA  struct w2c_properties
00068 {
00069      struct w2c_properties_ops *ops;
00070 };
00071 
00080 AXIS2_EXTERN w2c_properties_t* AXIS2_CALL
00081 w2c_properties_create( const axis2_env_t *env,
00082                     axis2_char_t *filename,
00083                     axis2_char_t seperator);
00084 
00085 /*************************** Function macros **********************************/
00086 
00087 #define W2C_PROPERTIES_FREE(properties, env) \
00088       ((properties)->ops->free (properties, env))
00089 
00090 #define W2C_PROPERTIES_GET_HASH(properties, env) \
00091       ((properties)->ops->get_hash(properties, env))
00092    
00095 #ifdef __cplusplus
00096 }
00097 #endif
00098 
00099 #endif /* W2C_PROPERTIES_PARSER_H */

Generated on Tue Oct 3 22:35:48 2006 for Axis2/C by  doxygen 1.4.7