00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXUTIL_DLL_DESC_H
00019 #define AXUTIL_DLL_DESC_H
00020
00026 #include <axutil_utils_defines.h>
00027 #include <axutil_qname.h>
00028 #include <axutil_error.h>
00029 #include <axutil_utils.h>
00030 #include <platforms/axutil_platform_auto_sense.h>
00031
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036
00043 typedef struct axutil_dll_desc axutil_dll_desc_t;
00044
00045 typedef int(*CREATE_FUNCT)(void **inst, const axutil_env_t *env);
00046
00047 typedef int(*DELETE_FUNCT)(void *inst, const axutil_env_t *env);
00048
00049 typedef enum axis2_dll_type
00050 {
00052 AXIS2_SVC_DLL = 0,
00054 AXIS2_HANDLER_DLL,
00056 AXIS2_MSG_RECV_DLL,
00058 AXIS2_MODULE_DLL,
00060 AXIS2_TRANSPORT_RECV_DLL,
00062 AXIS2_TRANSPORT_SENDER_DLL
00063
00064 }
00065 axis2_dll_type_t;
00066
00071 AXIS2_EXTERN axutil_dll_desc_t* AXIS2_CALL
00072 axutil_dll_desc_create(const axutil_env_t *env);
00073
00074 AXIS2_EXTERN void AXIS2_CALL
00075 axutil_dll_desc_free_void_arg(void *dll_desc,
00076 const axutil_env_t *env);
00077
00078 AXIS2_EXTERN void AXIS2_CALL
00079 axutil_dll_desc_free(axutil_dll_desc_t *dll_desc,
00080 const axutil_env_t *env);
00081
00085 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00086 axutil_dll_desc_set_name(axutil_dll_desc_t *dll_desc,
00087 const axutil_env_t *env,
00088 axis2_char_t *name);
00089
00093 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00094 axutil_dll_desc_get_name(axutil_dll_desc_t *dll_desc,
00095 const axutil_env_t *env);
00096
00097 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098 axutil_dll_desc_set_type(axutil_dll_desc_t *dll_desc,
00099 const axutil_env_t *env,
00100 axis2_dll_type_t type);
00101
00102 AXIS2_EXTERN axis2_dll_type_t AXIS2_CALL
00103 axutil_dll_desc_get_type(axutil_dll_desc_t *dll_desc,
00104 const axutil_env_t *env);
00105
00106 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00107 axutil_dll_desc_set_load_options(axutil_dll_desc_t *dll_desc,
00108 const axutil_env_t *env,
00109 int options);
00110
00111 AXIS2_EXTERN int AXIS2_CALL
00112 axutil_dll_desc_get_load_options(axutil_dll_desc_t *dll_desc,
00113 const axutil_env_t *env);
00114
00115 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00116 axutil_dll_desc_set_dl_handler(axutil_dll_desc_t *dll_desc,
00117 const axutil_env_t *env,
00118 AXIS2_DLHANDLER dl_handler);
00119
00120 AXIS2_EXTERN AXIS2_DLHANDLER AXIS2_CALL
00121 axutil_dll_desc_get_dl_handler(axutil_dll_desc_t *dll_desc,
00122 const axutil_env_t *env);
00123
00124 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00125 axutil_dll_desc_set_create_funct(axutil_dll_desc_t *dll_desc,
00126 const axutil_env_t *env,
00127 CREATE_FUNCT funct);
00128
00129 AXIS2_EXTERN CREATE_FUNCT AXIS2_CALL
00130 axutil_dll_desc_get_create_funct(axutil_dll_desc_t *dll_desc,
00131 const axutil_env_t *env);
00132
00133 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00134 axutil_dll_desc_set_delete_funct(axutil_dll_desc_t *dll_desc,
00135 const axutil_env_t *env,
00136 DELETE_FUNCT funct);
00137
00138 AXIS2_EXTERN DELETE_FUNCT AXIS2_CALL
00139 axutil_dll_desc_get_delete_funct(axutil_dll_desc_t *dll_desc,
00140 const axutil_env_t *env);
00141
00142 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00143 axutil_dll_desc_set_timestamp(axutil_dll_desc_t *dll_desc,
00144 const axutil_env_t *env,
00145 AXIS2_TIME_T timestamp);
00146
00147 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00148 axutil_dll_desc_set_error_code(axutil_dll_desc_t *dll_desc,
00149 const axutil_env_t *env,
00150 axutil_error_codes_t error_code);
00151
00152 AXIS2_EXTERN axutil_error_codes_t AXIS2_CALL
00153 axutil_dll_desc_get_error_code(
00154 axutil_dll_desc_t *dll_desc,
00155 const axutil_env_t *env);
00156
00157 AXIS2_EXTERN AXIS2_TIME_T AXIS2_CALL
00158 axutil_dll_desc_get_timestamp(axutil_dll_desc_t *dll_desc,
00159 const axutil_env_t *env);
00169 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00170 axutil_dll_desc_create_platform_specific_dll_name(axutil_dll_desc_t *dll_desc,
00171 const axutil_env_t *env,
00172 const axis2_char_t *class_name);
00173
00174 #ifdef __cplusplus
00175 }
00176 #endif
00177
00178 #endif