00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXUTIL_DLL_DESC_H
00020 #define AXUTIL_DLL_DESC_H
00021
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_qname.h>
00029 #include <axutil_error.h>
00030 #include <axutil_utils.h>
00031 #include <platforms/axutil_platform_auto_sense.h>
00032
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037
00044 typedef struct axutil_dll_desc axutil_dll_desc_t;
00045
00046 typedef int(
00047 *CREATE_FUNCT)(
00048 void **inst,
00049 const axutil_env_t * env);
00050
00051 typedef int(
00052 *DELETE_FUNCT)(
00053 void *inst,
00054 const axutil_env_t * env);
00055
00056 typedef int axis2_dll_type_t;
00057
00062 AXIS2_EXTERN axutil_dll_desc_t *AXIS2_CALL
00063 axutil_dll_desc_create(
00064 const axutil_env_t * env);
00065
00066 AXIS2_EXTERN void AXIS2_CALL
00067 axutil_dll_desc_free_void_arg(
00068 void *dll_desc,
00069 const axutil_env_t * env);
00070
00071 AXIS2_EXTERN void AXIS2_CALL
00072 axutil_dll_desc_free(
00073 axutil_dll_desc_t * dll_desc,
00074 const axutil_env_t * env);
00075
00079 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00080 axutil_dll_desc_set_name(
00081 axutil_dll_desc_t * dll_desc,
00082 const axutil_env_t * env,
00083 axis2_char_t * name);
00084
00088 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00089 axutil_dll_desc_get_name(
00090 axutil_dll_desc_t * dll_desc,
00091 const axutil_env_t * env);
00092
00093 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094 axutil_dll_desc_set_type(
00095 axutil_dll_desc_t * dll_desc,
00096 const axutil_env_t * env,
00097 axis2_dll_type_t type);
00098
00099 AXIS2_EXTERN axis2_dll_type_t AXIS2_CALL
00100 axutil_dll_desc_get_type(
00101 axutil_dll_desc_t * dll_desc,
00102 const axutil_env_t * env);
00103
00104 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00105 axutil_dll_desc_set_load_options(
00106 axutil_dll_desc_t * dll_desc,
00107 const axutil_env_t * env,
00108 int options);
00109
00110 AXIS2_EXTERN int AXIS2_CALL
00111 axutil_dll_desc_get_load_options(
00112 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(
00117 axutil_dll_desc_t * dll_desc,
00118 const axutil_env_t * env,
00119 AXIS2_DLHANDLER dl_handler);
00120
00121 AXIS2_EXTERN AXIS2_DLHANDLER AXIS2_CALL
00122 axutil_dll_desc_get_dl_handler(
00123 axutil_dll_desc_t * dll_desc,
00124 const axutil_env_t * env);
00125
00126 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00127 axutil_dll_desc_set_create_funct(
00128 axutil_dll_desc_t * dll_desc,
00129 const axutil_env_t * env,
00130 CREATE_FUNCT funct);
00131
00132 AXIS2_EXTERN CREATE_FUNCT AXIS2_CALL
00133 axutil_dll_desc_get_create_funct(
00134 axutil_dll_desc_t * dll_desc,
00135 const axutil_env_t * env);
00136
00137 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00138 axutil_dll_desc_set_delete_funct(
00139 axutil_dll_desc_t * dll_desc,
00140 const axutil_env_t * env,
00141 DELETE_FUNCT funct);
00142
00143 AXIS2_EXTERN DELETE_FUNCT AXIS2_CALL
00144 axutil_dll_desc_get_delete_funct(
00145 axutil_dll_desc_t * dll_desc,
00146 const axutil_env_t * env);
00147
00148 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00149 axutil_dll_desc_set_timestamp(
00150 axutil_dll_desc_t * dll_desc,
00151 const axutil_env_t * env,
00152 AXIS2_TIME_T timestamp);
00153
00154 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00155 axutil_dll_desc_set_error_code(
00156 axutil_dll_desc_t * dll_desc,
00157 const axutil_env_t * env,
00158 axutil_error_codes_t error_code);
00159
00160 AXIS2_EXTERN axutil_error_codes_t AXIS2_CALL
00161
00162 axutil_dll_desc_get_error_code(
00163 axutil_dll_desc_t * dll_desc,
00164 const axutil_env_t * env);
00165
00166 AXIS2_EXTERN AXIS2_TIME_T AXIS2_CALL
00167 axutil_dll_desc_get_timestamp(
00168 axutil_dll_desc_t * dll_desc,
00169 const axutil_env_t * env);
00170
00180 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00181
00182 axutil_dll_desc_create_platform_specific_dll_name(
00183 axutil_dll_desc_t * dll_desc,
00184 const axutil_env_t * env,
00185 const axis2_char_t * class_name);
00186
00187 #ifdef __cplusplus
00188 }
00189 #endif
00190
00191 #endif