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 enum axis2_dll_type
00057 {
00058
00060 AXIS2_SVC_DLL = 0,
00061
00063 AXIS2_HANDLER_DLL,
00064
00066 AXIS2_MSG_RECV_DLL,
00067
00069 AXIS2_MODULE_DLL,
00070
00072 AXIS2_TRANSPORT_RECV_DLL,
00073
00075 AXIS2_TRANSPORT_SENDER_DLL
00076 }
00077 axis2_dll_type_t;
00078
00083 AXIS2_EXTERN axutil_dll_desc_t *AXIS2_CALL
00084 axutil_dll_desc_create(
00085 const axutil_env_t * env);
00086
00087 AXIS2_EXTERN void AXIS2_CALL
00088 axutil_dll_desc_free_void_arg(
00089 void *dll_desc,
00090 const axutil_env_t * env);
00091
00092 AXIS2_EXTERN void AXIS2_CALL
00093 axutil_dll_desc_free(
00094 axutil_dll_desc_t * dll_desc,
00095 const axutil_env_t * env);
00096
00100 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00101 axutil_dll_desc_set_name(
00102 axutil_dll_desc_t * dll_desc,
00103 const axutil_env_t * env,
00104 axis2_char_t * name);
00105
00109 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00110 axutil_dll_desc_get_name(
00111 axutil_dll_desc_t * dll_desc,
00112 const axutil_env_t * env);
00113
00114 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00115 axutil_dll_desc_set_type(
00116 axutil_dll_desc_t * dll_desc,
00117 const axutil_env_t * env,
00118 axis2_dll_type_t type);
00119
00120 AXIS2_EXTERN axis2_dll_type_t AXIS2_CALL
00121 axutil_dll_desc_get_type(
00122 axutil_dll_desc_t * dll_desc,
00123 const axutil_env_t * env);
00124
00125 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00126 axutil_dll_desc_set_load_options(
00127 axutil_dll_desc_t * dll_desc,
00128 const axutil_env_t * env,
00129 int options);
00130
00131 AXIS2_EXTERN int AXIS2_CALL
00132 axutil_dll_desc_get_load_options(
00133 axutil_dll_desc_t * dll_desc,
00134 const axutil_env_t * env);
00135
00136 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00137 axutil_dll_desc_set_dl_handler(
00138 axutil_dll_desc_t * dll_desc,
00139 const axutil_env_t * env,
00140 AXIS2_DLHANDLER dl_handler);
00141
00142 AXIS2_EXTERN AXIS2_DLHANDLER AXIS2_CALL
00143 axutil_dll_desc_get_dl_handler(
00144 axutil_dll_desc_t * dll_desc,
00145 const axutil_env_t * env);
00146
00147 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00148 axutil_dll_desc_set_create_funct(
00149 axutil_dll_desc_t * dll_desc,
00150 const axutil_env_t * env,
00151 CREATE_FUNCT funct);
00152
00153 AXIS2_EXTERN CREATE_FUNCT AXIS2_CALL
00154 axutil_dll_desc_get_create_funct(
00155 axutil_dll_desc_t * dll_desc,
00156 const axutil_env_t * env);
00157
00158 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00159 axutil_dll_desc_set_delete_funct(
00160 axutil_dll_desc_t * dll_desc,
00161 const axutil_env_t * env,
00162 DELETE_FUNCT funct);
00163
00164 AXIS2_EXTERN DELETE_FUNCT AXIS2_CALL
00165 axutil_dll_desc_get_delete_funct(
00166 axutil_dll_desc_t * dll_desc,
00167 const axutil_env_t * env);
00168
00169 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170 axutil_dll_desc_set_timestamp(
00171 axutil_dll_desc_t * dll_desc,
00172 const axutil_env_t * env,
00173 AXIS2_TIME_T timestamp);
00174
00175 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00176 axutil_dll_desc_set_error_code(
00177 axutil_dll_desc_t * dll_desc,
00178 const axutil_env_t * env,
00179 axutil_error_codes_t error_code);
00180
00181 AXIS2_EXTERN axutil_error_codes_t AXIS2_CALL
00182
00183 axutil_dll_desc_get_error_code(
00184 axutil_dll_desc_t * dll_desc,
00185 const axutil_env_t * env);
00186
00187 AXIS2_EXTERN AXIS2_TIME_T AXIS2_CALL
00188 axutil_dll_desc_get_timestamp(
00189 axutil_dll_desc_t * dll_desc,
00190 const axutil_env_t * env);
00191
00201 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00202
00203 axutil_dll_desc_create_platform_specific_dll_name(
00204 axutil_dll_desc_t * dll_desc,
00205 const axutil_env_t * env,
00206 const axis2_char_t * class_name);
00207
00208 #ifdef __cplusplus
00209 }
00210 #endif
00211
00212 #endif