# 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 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                          /* AXIS2_DLL_DESC_H */