00001 /* Copyright 2005-2006 Garrett Rooney. 00002 * 00003 * Licensed under the Apache License, Version 2.0 (the "License"); 00004 * you may not use this file except in compliance with the License. 00005 * You may obtain a copy of the License at 00006 * 00007 * http://www.apache.org/licenses/LICENSE-2.0 00008 * 00009 * Unless required by applicable law or agreed to in writing, software 00010 * distributed under the License is distributed on an "AS IS" BASIS, 00011 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00012 * See the License for the specific language governing permissions and 00013 * limitations under the License. 00014 */ 00015 00016 /** 00017 * @file etl_data.h 00018 * @brief Functions for manipulating ETL Data Definition Language files 00019 */ 00020 00021 #ifndef ETL_DATA_H 00022 #define ETL_DATA_H 00023 00024 #include "etl_resolver.h" 00025 #include "etl_error.h" 00026 00027 #include <apr.h> 00028 #include <apr_hash.h> 00029 #include <apr_tables.h> 00030 00031 #ifdef __cplusplus 00032 extern "C" { 00033 #endif /* __cplusplus */ 00034 00035 /** 00036 * Parse @a in, a brigade containing ETL Data Definition Language, 00037 * returning a hash holding the resulting variables in @a *data, 00038 * allocated from @a pool. 00039 * 00040 * @a resolver is used to find any included files. */ 00041 etl_error_t * 00042 etl_ddl_parse(apr_hash_t **data, 00043 etl_resolver_t *resolver, 00044 apr_bucket_brigade *in, 00045 apr_pool_t *pool); 00046 00047 /** 00048 * Parse a file @a filename that holds ETL Data Definition Language, 00049 * returning a hash holding the resulting variables in @a *data, 00050 * allocated from @a pool. 00051 * 00052 * @a resolver is used to find any included files. */ 00053 etl_error_t * 00054 etl_ddl_parse_file(apr_hash_t **data, 00055 etl_resolver_t *resolver, 00056 const char *filename, 00057 apr_pool_t *pool); 00058 00059 #ifdef __cplusplus 00060 } 00061 #endif /* __cplusplus */ 00062 00063 #endif /* ETL_DATA_H */
1.4.4