w2c_engine.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 W2C_ENGINE_H
00018 #define W2C_ENGINE_H
00019 
00025 #include <axis2_utils.h>
00026 #include <w2c_cmdline_option_parser.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00039 typedef struct w2c_engine w2c_engine_t;
00040 typedef struct w2c_engine_ops w2c_engine_ops_t;
00041 
00042 AXIS2_DECLARE_DATA  struct w2c_engine_ops
00043 {
00051     axis2_status_t (AXIS2_CALL *
00052     free)(w2c_engine_t *engine,
00053          const axis2_env_t *env);
00054 
00062     axis2_status_t (AXIS2_CALL *
00063     generate)(w2c_engine_t *engine,
00064           const axis2_env_t *env);
00065     
00066 
00067 };
00068 
00069 AXIS2_DECLARE_DATA  struct w2c_engine
00070 {
00071      struct w2c_engine_ops *ops;
00072 };
00073 
00080 AXIS2_EXTERN w2c_engine_t* AXIS2_CALL
00081 w2c_engine_create_with_parser( const axis2_env_t *env,
00082                    w2c_cmdline_option_parser_t *parser );
00083 
00084 /*************************** Function macros **********************************/
00085 
00086 #define W2C_ENGINE_FREE(engine, env) \
00087       ((engine)->ops->free (engine, env)) 
00088 
00089 #define W2C_ENGINE_GENERATE(engine, env) \
00090       ((engine)->ops->generate(engine, env ))
00091 
00094 #ifdef __cplusplus
00095 }
00096 #endif
00097 
00098 #endif /* W2C_ENGINE_H */

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