| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #ifndef __KVPCONFIG_H__
- #define __KVPCONFIG_H__
- #pragma once
- #include "config.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define KVP_INTEGER 0
- #define KVP_STRING 1
- #define KVP_BOOLEAN 2
- struct kvpconfig_entry_t
- {
- char *key;
- char *default_value;
- int type;
- int member_offset;
- };
- TOOLKIT_API int kvpconfig_init(struct kvpconfig_entry_t* pe, void *container);
- TOOLKIT_API int kvpconfig_term(struct kvpconfig_entry_t* pe, void *container);
- TOOLKIT_API int kvpconfig_set(struct kvpconfig_entry_t* pe,
- void *container,
- const char *key,
- const char *value);
- TOOLKIT_API int kvpconfig_get(struct kvpconfig_entry_t* pe,
- void *container,
- const char *key,
- char *value);
- #ifdef __cplusplus
- } // extern "C" {
- #endif
- #endif //__KVPCONFIG_H__
- /*
- typedef struct app_t app_t;
- struct app_t {
- char *aaa;
- apr_pool_t *pool;
- }app = {"vv", NULL};
- int main()
- {
- struct kvpconfig_entry_t vv[] = {
- {"ip", "0.0.0.0", KVP_STRING, FIELD_OFFSET(app_t, aaa) },
- {NULL, NULL, 0, 0},
- };
- apr_status_t status;
- char tmp[32];
- apr_initialize();
- apr_pool_create(&app.pool, NULL);
- status = kvpconfig_init(&vv[0], &app, app.pool);
- assert(status == APR_SUCCESS);
- status = kvpconfig_set(&vv[0], &app, "ip", "99.1.100.22", app.pool);
- assert(status == APR_SUCCESS);
- status = kvpconfig_get(&vv[0], &app, "ip", tmp);
- assert(status == APR_SUCCESS);
- getchar();
- apr_terminate();
- return 0;
- }
- */
|