axutil_dll_desc.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
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                          /* AXIS2_DLL_DESC_H */

Generated on Tue Jan 8 01:28:17 2008 for Axis2/C by  doxygen 1.5.1