00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef APT_PAIR_H
00020 #define APT_PAIR_H
00021
00022
00023
00024
00025
00026
00027 #include <apr_tables.h>
00028 #include "apt_string.h"
00029
00030 APT_BEGIN_EXTERN_C
00031
00032
00033 typedef struct apt_pair_t apt_pair_t;
00034
00035
00036 struct apt_pair_t {
00037
00038 apt_str_t name;
00039
00040 apt_str_t value;
00041 };
00042
00043
00044 typedef apr_array_header_t apt_pair_arr_t;
00045
00046
00047 static APR_INLINE void apt_pair_init(apt_pair_t *pair)
00048 {
00049 apt_string_reset(&pair->name);
00050 apt_string_reset(&pair->value);
00051 }
00052
00053
00054 static APR_INLINE void apt_pair_copy(apt_pair_t *pair, const apt_pair_t *src_pair, apr_pool_t *pool)
00055 {
00056 apt_string_copy(&pair->name,&src_pair->name,pool);
00057 apt_string_copy(&pair->value,&src_pair->value,pool);
00058 }
00059
00060
00061 APT_DECLARE(apt_pair_arr_t*) apt_pair_array_create(apr_size_t initial_size, apr_pool_t *pool);
00062
00063 APT_DECLARE(apt_pair_arr_t*) apt_pair_array_copy(const apt_pair_arr_t *src, apr_pool_t *pool);
00064
00065 APT_DECLARE(apt_bool_t) apt_pair_array_append(apt_pair_arr_t *arr, const apt_str_t *name, const apt_str_t *value, apr_pool_t *pool);
00066
00067 APT_DECLARE(const apt_pair_t*) apt_pair_array_find(const apt_pair_arr_t *arr, const apt_str_t *name);
00068
00069 APT_DECLARE(int) apt_pair_array_size_get(const apt_pair_arr_t *arr);
00070
00071 APT_DECLARE(const apt_pair_t*) apt_pair_array_get(const apt_pair_arr_t *arr, int id);
00072
00073 APT_END_EXTERN_C
00074
00075 #endif