# axutil_properties.h

    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_PROPERTIES_H
    00020 #define AXUTIL_PROPERTIES_H
    00021
    00022 #include <axutil_utils_defines.h>
    00023 #include <axutil_error.h>
    00024 #include <axutil_env.h>
    00025 #include <axutil_hash.h>
    00026 #include <stdio.h>
    00027
    00028 #ifdef __cplusplus
    00029 extern "C"
    00030 {
    00031 #endif
    00032
    00039     typedef struct axutil_properties axutil_properties_t;
    00040
    00045     AXIS2_EXTERN axutil_properties_t *AXIS2_CALL
    00046     axutil_properties_create(
    00047         const axutil_env_t * env);
    00048
    00056     AXIS2_EXTERN void AXIS2_CALL
    00057     axutil_properties_free(
    00058         axutil_properties_t * properties,
    00059         const axutil_env_t * env);
    00060
    00068     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00069     axutil_properties_get_property(
    00070         axutil_properties_t * properties,
    00071         const axutil_env_t * env,
    00072         axis2_char_t * key);
    00073
    00083     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00084     axutil_properties_set_property(
    00085         axutil_properties_t * properties,
    00086         const axutil_env_t * env,
    00087         axis2_char_t * key,
    00088         axis2_char_t * value);
    00089
    00096     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
    00097     axutil_properties_get_all(
    00098         axutil_properties_t * properties,
    00099         const axutil_env_t * env);
    00100
    00109     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00110     axutil_properties_load(
    00111         axutil_properties_t * properties,
    00112         const axutil_env_t * env,
    00113         axis2_char_t * input_filename);
    00114
    00123     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00124     axutil_properties_store(
    00125         axutil_properties_t * properites,
    00126         const axutil_env_t * env,
    00127         FILE * output);
    00128
    00129     /*************************** End of function macros ***************************/
    00130
    00133 #ifdef __cplusplus
    00134 }
    00135 #endif
    00136
    00137 #endif                          /* AXIS2_PROPERTIES_H */