00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef W2C_CMDLINE_OPTION_PARSER_H
00018 #define W2C_CMDLINE_OPTION_PARSER_H
00019
00025 #include <axis2_utils.h>
00026 #include <axis2_hash.h>
00027 #include <axis2_array_list.h>
00028
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033
00040 typedef struct w2c_cmdline_option_parser w2c_cmdline_option_parser_t;
00041 typedef struct w2c_cmdline_option_parser_ops w2c_cmdline_option_parser_ops_t;
00042
00043 AXIS2_DECLARE_DATA struct w2c_cmdline_option_parser_ops
00044 {
00052 axis2_status_t (AXIS2_CALL *
00053 free)(w2c_cmdline_option_parser_t *cmdline_option_parser,
00054 const axis2_env_t *env);
00055
00062 axis2_hash_t* (AXIS2_CALL *
00063 get_options)(w2c_cmdline_option_parser_t *cmdline_option_parser,
00064 const axis2_env_t *env);
00065
00072 axis2_array_list_t* (AXIS2_CALL *
00073 get_invalid_options)(w2c_cmdline_option_parser_t *cmdline_option_parser,
00074 const axis2_env_t *env);
00075
00076 };
00077
00078 AXIS2_DECLARE_DATA struct w2c_cmdline_option_parser
00079 {
00080 struct w2c_cmdline_option_parser_ops *ops;
00081 };
00082
00090 AXIS2_EXTERN w2c_cmdline_option_parser_t* AXIS2_CALL
00091 w2c_cmdline_option_parser_create(const axis2_env_t *env,
00092 int argc,
00093 axis2_char_t **argv);
00094
00095
00096
00097 #define W2C_CMDLINE_OPTION_PARSER_FREE(cmdline_option_parser, env) \
00098 ((cmdline_option_parser)->ops->free (cmdline_option_parser, env))
00099
00100 #define W2C_CMDLINE_OPTION_PARSER_GET_OPTIONS(cmdline_option_parser, env) \
00101 ((cmdline_option_parser)->ops->get_options (cmdline_option_parser, env ))
00102
00103 #define W2C_CMDLINE_OPTION_PARSER_GET_INVALID_OPTIONS(cmdline_option_parser, env) \
00104 ((cmdline_option_parser)->ops->get_invalid_options(cmdline_option_parser, env ))
00105
00108 #ifdef __cplusplus
00109 }
00110 #endif
00111
00112 #endif