[asterisk-commits] branch bweschke/func_realtime_bug_5695 r13963 -
/team/bweschke/func_realtime_...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Tue Mar 21 11:44:25 MST 2006
Author: bweschke
Date: Tue Mar 21 12:44:23 2006
New Revision: 13963
URL: http://svn.digium.com/view/asterisk?rev=13963&view=rev
Log:
Not only does it compile, it might actually work with Asterisk now! :-p
Modified:
team/bweschke/func_realtime_bug_5695/funcs/func_realtime.c
Modified: team/bweschke/func_realtime_bug_5695/funcs/func_realtime.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/func_realtime_bug_5695/funcs/func_realtime.c?rev=13963&r1=13962&r2=13963&view=diff
==============================================================================
--- team/bweschke/func_realtime_bug_5695/funcs/func_realtime.c (original)
+++ team/bweschke/func_realtime_bug_5695/funcs/func_realtime.c Tue Mar 21 12:44:23 2006
@@ -42,12 +42,20 @@
#include "asterisk/utils.h"
#include "asterisk/app.h"
+LOCAL_USER_DECL;
+
+static char *tdesc = "Read/Write values from a RealTime repository";
+
static int function_realtime_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
{
struct ast_variable *var=NULL,*head=NULL;
+ struct localuser *u;
char *results;
unsigned int resultslen=0;
+
+ LOCAL_USER_ADD(u);
+
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(family);
AST_APP_ARG(metamatch);
@@ -85,13 +93,19 @@
else
return -1;
ast_copy_string(buf, results, len);
+
+ LOCAL_USER_REMOVE(u);
return 0;
}
static int function_realtime_write(struct ast_channel *chan, char *cmd, char *data, const char *value)
{
+ struct localuser *u;
int res = 0;
+
+ LOCAL_USER_ADD(u);
+
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(family);
AST_APP_ARG(metamatch);
@@ -110,6 +124,8 @@
if (res < 0) {
ast_log(LOG_WARNING, "Failed to update. Check the debug log for possible data repository related entries.\n");
}
+
+ LOCAL_USER_REMOVE(u);
return 0;
}
@@ -132,3 +148,40 @@
.write = function_realtime_write,
};
+int unload_module(void)
+{
+ int res = 0;
+
+ res |= ast_custom_function_unregister(&realtime_function);
+
+ STANDARD_HANGUP_LOCALUSERS;
+
+ return res;
+}
+
+int load_module(void)
+{
+ int res = 0;
+
+ res |= ast_custom_function_register(&realtime_function);
+
+ return res;
+}
+
+char *description(void)
+{
+ return tdesc;
+}
+
+int usecount(void)
+{
+ int res;
+ STANDARD_USECOUNT(res);
+ return res;
+}
+
+char *key()
+{
+ return ASTERISK_GPL_KEY;
+}
+
More information about the asterisk-commits
mailing list