via 8118, a RealTime upgrade to make RT a complete storage abstraction. The store/destroy mechanisms needed these missing peices.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Steve Murphy 18 years ago
parent 47dd5a15af
commit 69bb679e14

@ -156,6 +156,23 @@ struct ast_config *ast_load_realtime_multientry(const char *family, ...);
*/
int ast_update_realtime(const char *family, const char *keyfield, const char *lookup, ...);
/*! \brief Create realtime configuration
* \param family which family/config to be created
* This function is used to create a parameter in realtime configuration space.
*
*/
int ast_store_realtime(const char *family, ...);
/*! \brief Destroy realtime configuration
* \param family which family/config to be destroyed
* \param keyfield which field to use as the key
* \param lookup which value to look for in the key field to match the entry.
* This function is used to destroy an entry in realtime configuration space.
* Additional params are used as keys.
*
*/
int ast_destroy_realtime(const char *family, const char *keyfield, const char *lookup, ...);
/*! \brief Check if realtime engine is configured for family
* returns 1 if family is configured in realtime and engine exists
* \param family which family/config to be checked

@ -1426,6 +1426,38 @@ int ast_update_realtime(const char *family, const char *keyfield, const char *lo
return res;
}
int ast_store_realtime(const char *family, ...) {
struct ast_config_engine *eng;
int res = -1;
char db[256]="";
char table[256]="";
va_list ap;
va_start(ap, family);
eng = find_engine(family, db, sizeof(db), table, sizeof(table));
if (eng && eng->store_func)
res = eng->store_func(db, table, ap);
va_end(ap);
return res;
}
int ast_destroy_realtime(const char *family, const char *keyfield, const char *lookup, ...) {
struct ast_config_engine *eng;
int res = -1;
char db[256]="";
char table[256]="";
va_list ap;
va_start(ap, lookup);
eng = find_engine(family, db, sizeof(db), table, sizeof(table));
if (eng && eng->destroy_func)
res = eng->destroy_func(db, table, keyfield, lookup, ap);
va_end(ap);
return res;
}
static int config_command(int fd, int argc, char **argv)
{
struct ast_config_engine *eng;

Loading…
Cancel
Save