mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-13 16:21:01 +00:00
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
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user