axutil_dll_desc.h

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

Generated on Thu May 3 12:31:01 2007 for Axis2/C by  doxygen 1.4.6